home *** CD-ROM | disk | FTP | other *** search
/ STraTOS 1997 April & May / STraTOS 1 - 1997 April & May.iso / CD01 / GRAPHICS / @FALCON / REMBRAND / REMBRAND.DOC < prev    next >
Encoding:
Text File  |  1994-12-16  |  94.2 KB  |  1,793 lines

  1. La version 3.07 (très améliorée) arrivera d'ici quelques semaines (en 94 !)
  2. Donc, en attendant, voila une sorte de preview buggée appelée 3.06...
  3.  
  4. Attention : ceci est la version 3.06 Beta de Rembrandt, proposant
  5. en plus :
  6. zoomer temps réel en border bas: '*' -> segmentation '-'/'+' -> taille
  7. loupe fixe: '<' (on peut pas dessiner) (avec '*-+' aussi)
  8.  
  9.  
  10.  _________                      ______________________________________________________
  11. (   _____ \          ___  ___  (______________________________________________   _____)
  12.  \ (     \ \______  (   )(   )______    ______      __   __    __  ____      /  /
  13.   \ \    / (  ____) / _ \/ _ (  ___ \  (   __ \    /__\ (  )  (  )(  _ \    /  /
  14.    ) \__/ / ) )__  / / \  / \/ (___) )  ) (__) )  /(__)\/  \  / / / / \ \  /  /
  15.   / __   / (  ___)/ /   \/  / ____  (  / __   /  / ____ \/\ \/ / / /  / / /  /
  16.  / /  \  \  ) )__/_/_      / (____)  )/ /  \ (  / /   /\ \ \  / / /__/ / /  /
  17. (__)   \  \(_________)    (_________/(__)  (__)(__)  / (__)(__)(_______)/  /
  18.         \  \   / /                \ \                 / /              /  /
  19.         (___) (__)                (__)               (__)             /  /
  20.                                                                      (___)
  21.  
  22.  Version 3.05 Beta (Langue française; ENGLISH part at the end of this doc.)
  23.  
  24.  DOC REMBRANDT AU 3/12/1993:
  25.  
  26. «Un tableau est terminé lorsque le peintre y a réalisé son intention".
  27.                             Rembrandt 1606-1669
  28.  
  29. «Ce programme sera terminé lorsque le pauvre coder solitaire qui le réalise
  30. aura décidé qu'il le sera, et qu'il n'y retouchera plus.»
  31.                             Dbug II 1970-????
  32.  
  33. -----------------------------------------------------------------------------
  34. Le pack «Rembrandt beta-version» comprend:
  35.  
  36. - REMBRAND.DOC     C'est le fichier que vous lisez actuellement
  37. - REMBRAND.PRG   C'est le programme exécutable REMBRANDT
  38. - REMBRAND.INF   Un fichier de configuration par défaut
  39. - ICONE.RSC      Une icone pour installer sur le bureau (2 et 16 couleurs).
  40.                   (Pas évident de reproduire un tableau en 32x32 !. Pour
  41.                   ceux que cela intéresse, c'est une 'reproduction' d'une
  42.                   oeuvre de Gerard DOU, «Le joueur de trompette» que l'on
  43.                   peut voir au musé du Louvre. Gerard DOU est un des élèves
  44.                   de Rembrandt parmis les plus talentueux.)
  45. - SYSINFO.PRG    Un utilitaire du domaine public qui sera livré avec
  46.           Rembrandt tant qu'il sera diffusé en FreeWare.
  47.  
  48.  J'apprécierais particulièrement que ces fichiers ne soient pas sépararés.
  49. Si vous trouvez que cela prend trop de place, dites vous que l'ensemble
  50. non compacté prend moins de place que le driver TIFF de TruePaint, et que
  51. des disquette HD alliées à STZIP permettent de stocker pas mal de trucs !
  52.  
  53. -----------------------------------------------------------------------------
  54.  
  55. AVERTISSEMENT INITIAL: Ce fichier n'est pas un mode d'emploi de Rembrandt,
  56. au sens usuel du terme. C'est plutot un pot-pourri de tout ce qu'il me
  57. semblait important de dire. En clair, les informations sont réparties sans
  58. grand soucis pédagogique. On y trouve des informations utiles aux graphistes,
  59. mais aussi d'autres pour les codeurs. En gros, on y trouve les parties
  60. suivantes:
  61.  
  62.     * Cet avertissement
  63.     * Une introduction présentant Rembrandt 3, les différentes versions
  64.       du logiciel, quelques disgressions sur des sujets concernant
  65.       essentiellement l'info-graphisme...
  66.     * Une liste des fonctions que l'on peut utiliser. Cette liste peut
  67.       changer à tout moment, en fonction des évolutions du programme.
  68.     * Les effets spéciaux.
  69.     * Quelques remarques sur l'ergonomie du logiciel.
  70.     * Une partie sur les opérations avec les fichiers.
  71.     * La liste des éventuelles incompatibilités, détectées ou non.
  72.     * Une partie que j'ai appellé 'les trucs'. Ce qu'il faut savoir
  73.       pour éviter de perdre du temps et de s'ennerver pour un rien.
  74.     * Un chapitre sur le futur...
  75.     * La liste des versions officiellement diffusées.
  76.     * Un historique de la réalisation.
  77.     * Et enfin, comment vous pouvez me joindre...  
  78.     * Une partie réservée aux Anglophiles.
  79.     
  80.     Bonne lecture... (Niark, niark...)
  81.  
  82.     
  83. ----------------------------------------------------------------------------      
  84.  
  85.  
  86. Introduction:
  87. -------------
  88.  
  89.   Rembrandt est un logiciel très vieux ! En effet, les premiers sources
  90. datent de 1990, époque ou je tentait de mixer une routine de gestion
  91. clavier/souris avec un overscan total... L'échec fut total !
  92.             [C'était Rembrandt 1...]                
  93.  
  94.   Puis vint Rembrandt 2, dont l'ambition était plus modeste, puisqu'elle
  95. était seulement de dessiner en 320x200 puis d'afficher le résultat en
  96. overscan.     
  97.  Ca marchait bien, la loupe était très puissante [1 vbl en x2 x4 x8] mais
  98. il était très incomplet puisque les seules fonctions implémentées étaient
  99. POINT, DRAW et LINE. (Gasp) Rembrandt 2 n'a en fait jamais dépassé le stade
  100. de la Beta Version même si il m'a servit à dessiner quelques images comme
  101. le dessin en full qui apparait dans l'écran Fullball de la Phaléon
  102. Gigadémo. Quelques personnes ont pu avoir une version de Rembrandt, dont 
  103. Killer D et Chromix. D'ailleurs il y a deux versions diffusées dont une qui
  104. ne tourne que sur les ST anciennes Roms et une autre qui tourne partout
  105. bien que le message de présentation dise exactement le contraire ! [On fait
  106. ce qu'on peut.] 
  107.  
  108.   Rembrandt 3 a peu de points communs avec les deux autres versions, si ce
  109. n'est que leur auteur est le même et qu'elles ont été programmées à 100% en
  110. assembleur avec Devpack 2.xx. Rembrandt 3 utilise abondamment les modes
  111. d'adressage du 030 tels que les JSR ([an]), (an,dm.w*2^x), cmp2, et autres
  112. ([xxxx.l,an],dm*2^x). C'est pour cette simple raison qu'il faut au minimum
  113. un 68030 pour le faire tourner (Je ne pense pas qu'il y ait beaucoup
  114. d'Atari équipés de 68020 !). Rembrandt ne tourne qu'en mode TRUE COLOR,
  115. bien qu'il puisse être lancé dans n'importe quelle résolution.
  116.  
  117.  Au niveau de sa conception, Rembrandt diffère quelque peu des autres softs
  118. de dessin qui existent sur Atari. En effet, vu que toutes les images sont
  119. en True Color, il n'existe virtuellement aucune limitation quand aux effets
  120. qui sont suceptibles de s'appliquer à une image. Ainsi, il est possible de
  121. faire subir un assombrissement ou un éclaircissement à une zone du dessin
  122. sans avoir à se préoccuper d'une quelconque organisation des couleurs dans
  123. une palette limitée. La notion de 'palette' de couleur perd enfin le sens
  124. restrictif qu'elle avait dans les anciens programmes existant sur Atari (à
  125. l'exception de Spectrum 512). En effet, bien que le système de sélection
  126. des couleurs ne soit pas encore finalisé (loin s'en faut !) je peut tenter
  127. de vous faire partager ma conception du problème. La base de ma réflexion
  128. fut la suivante: «Un graphiste - même très doué - peut-il travailler avec
  129. une palette de 65536 teintes ?»
  130.  
  131.  A cela je répond non. Examinez TruePaint car c'est un parfait exemple de
  132. programme mal conçu. La roue des couleurs est certe esthétique, mais elle
  133. est loin d'être fonctionnelle: Il n'y a aucun repère permettant de savoir où
  134. se trouve la couleur en cours d'édition ! Par ailleur, je citerais ST Mag,
  135. cette fabuleuse revue qui annonce (du moins l'auteur de test) que cela fait
  136. plaisir d'enfin voir sur son Atari la fameuse roue des couleurs où il n'y a
  137. plus qu'à cliquer pour sélectionner une teinte, et qui affiche toutes les
  138. couleurs disponibles... Si je puis me permettre de faire une remarque:
  139. Le mode TrueColor du Falcon met à disposition 65536 teintes. Une image
  140. basse résolution contient 320 pixels de large par 200 pixels de haut, soit
  141. la bagatelle de 64000 pixels au total. Vous conviendrez donc qu'une image
  142. basse résolution TrueColor ne peut pas contenir l'ensemble des teintes
  143. disponibles, même à raison d'une teinte différente par pixel de l'image !
  144. Alors dire que toutes les couleurs sont dans la petite roue affichée par
  145. TruePaint !!! Arf, laissez moi rire. Franchement ce n'est pas sérieux. De
  146. même, faire des graduation par pas de... beaucoup, c'est peut-être sympa
  147. pour la compatibilité GEM, mais au niveau de la convivialité, bonjour les
  148. dégats (Degas... faisait mieux !).
  149.  
  150.  Pour en revenir à Rembrandt, je vous propose un système mixte inspiré de
  151. ce que font les peintres. Un peintre classique choisi avec soin quelques
  152. teintes de base représentant les dominantes de couleur de l'image qu'il
  153. souhaite réaliser. Les autres couleurs, seront issues d'un mélange de ces
  154. diverses couleurs de base, voir même d'une dillution à l'eau pour les
  155. éclaircir. Informatiquement je suis en train d'essayer d'appliquer ce
  156. système en présentant un système de palette conventionnel (mais je ne sais
  157. pas encore combien de teintes il faut: 16 ce n'est peut être pas asser,
  158. mais 256 c'est beaucoup trop et donc inutilisable; peut-être faudrait-il
  159. laisser cela paramétrable ???), et un 'mélangeur' de couleurs. Actuellement
  160. il est possible de capturer une couleur présente à l'écran en restant
  161. appuyé sur le bouton droit. La couleur apparait alors au niveau du curseur,
  162. ou même de la loupe si elle est activée (son cadre change de teinte). Si
  163. l'on continue cette opération en pressant en plus le bouton gauche alors le
  164. programme calculera une moyenne entre la teinte présente dans le curseur et
  165. celle qui se trouve sous le pixel courant.
  166. [Note: Une antique version de Rembrandt affichait au bas de l'écran une
  167. barre de couleur composée d'un dégradé entre la teinte située à l'éxtrème
  168. gauche de la barre et celle située à l'extrème droite. Il était donc
  169. possible de travailler en permanence avec ce dégradé en cliquant sur une
  170. des couleurs présentes. Il était possible de changer les couleurs de base
  171. (gauche et droite) et cliquant avec le bouton droit sur l'image, accompagné
  172. d'une pression de la touche SHIFT correspondante. C'était asser pratique au
  173. niveau du principe, mais je ne sais pas comment rendre ce système plus
  174. efficace au niveau de l'utilisation. J'attend des avis !]
  175.  
  176.  Au niveau des idées que je compte incorporer (il y en a moulte...) dans
  177. Rembrandt, ce trouve la principale motivation qui m'a conduit à utiliser le
  178. mode TrueColor. Certains diront que c'était seulement pour faciliter le
  179. travail (une routine d'affichage en mode TrueColor est BEAUCOUP plus courte
  180. et surtout beaucoup plus simple a concevoir et a modifier...), mais en fait
  181. c'est surtout que je n'aurais jamais réussi à matérialiser certaines de mes
  182. idées sans cette souplesse. Je compte proposer plusieurs façon d'utiliser
  183. chaque outil. Quelques exemples:
  184.  
  185. - AIRBRUSH: Le vaporisateur (ou la bombe aérosol...) est un outil bien
  186. pratique, mais avec 16 couleurs il manque d'envergure. Jusqu'à présent, on
  187. trouvait diverses implémentations de cet effet, dont:
  188.     NeoChrome: Le plus nul, puisqu'en fait ce n'en ai pas un. Juste une
  189.     brosse fixe avec quelques point répartis dessus.
  190.      Degas/CrackArt: On choisi une couleur, et les points sont jetés de
  191.      façon aléatoire dans un périmetre donné. On peut choisir la vitesse du
  192.      jet, ainsi que la taille du périmetre.
  193.         DeluxePaint: Il y a une inovation, puisqu'on peut mixer plusieur
  194.         couleurs, en ajustant avec des curseurs la proportion de chaqu'une
  195.         d'elles.
  196.         
  197.  Comment marche la peinture à la bombe en réalité ? Supposez que vous
  198. vouliez repeindre en rouge un morceau de tôle bleue. Vous agitez la bombe,
  199. pressez le bouton, et ??? Une FINE brume de peinture commence à se déposer,
  200. masquant progressivement le rouge pour le remplacer par du bleu. On n'a
  201. donc pas des points 100% rouges qui deviennent subitement 100% bleu ! Donc
  202. si on veut le meilleur aérographe, il faut SIMULER cet effet. [Du moins,
  203. c'est ainsi que je vois les choses.] Et pour cela, seul le mode TrueColor
  204. du falcon est à même de donner le meilleur résultat, puisqu'en fait cela
  205. revient à faire tendre progressivement la couleur de chaqu'un des points de
  206. l'image vers la teinte de l'aérographe. On a donc besoin de beaucoup de
  207. teintes différentes ! Beaucoup plus que 256...
  208.  
  209. - GOUTTE D'EAU: Vous connaissez la fonction SMEAR de Degas Elite ? Et bien
  210. c'est la même chose, sauf qu'au lieu de déplacer les pixels pour donner un
  211. effet de mélange on procède ici à un véritable mélange. En fait, c'est un
  212. des effets déja implémenté utilisé de façon locale comme un simple outil.
  213. [Touches '*' et '-' pour avoir le FLOU]. Et c'est possible pour tous les
  214. effets. Pourquoi ne pas avoir un vaporisateur qui 'mouille' l'image pour
  215. la rendre floue par endroits ? (Imaginez une dessin avec un arrière plan
  216. net, et un avant plan brouillé !) Ou bien un 'éclaircisseur' en spray...
  217. Un personnage est trop sombre ? On l'illumine !...
  218.  
  219.  M'enfin, si je continue mes disgressions textuelles, je ne risque pas de
  220. faire avancer le programme, alors je m'y remet !
  221.  
  222.  
  223.  
  224.  
  225.     CE QUE JE DÉSIRE EN DIFFUSANT CES BETA-VERSIONS:
  226.     ------------------------------------------------
  227.     
  228.  Mes coordonnées sont placées à la fin de ce document. Je n'autorise pas la
  229. diffusion de Rembrandt sans cette documentation. J'aimerai donc que toutes
  230. les personnes concernées (en priorité les graphistes, mais les coders sont
  231. bienvenus) me contactent pour me dire ce qu'elles pensent de Rembrandt, de
  232. ce qu'elles aimeraient y trouver, et ce qu'il faudrait changer. Par ailleur,
  233. toute personne diffusant ce logiciel, moyennant rémunération serait en
  234. total désaccord avec le principe du FreeWare, et donc je m'engage à lui
  235. pourrir la vie de la manière la plus efficace que je pourrais trouver. Cela
  236. inclue tous les serveurs qui pratiquent le téléchargement ainsi que les
  237. diverses 'boutiques' qui distribuent les softs à un prix exorbitant. Ceci
  238. dit, je suis pret à discuter avec tout interlocuteur sérieux concernant les
  239. fufures versions de Rembrandt. En effet, je suis à la recherche d'un
  240. éditeur sérieux intéressé par Rembrandt. J'aurais pu continuer et mettre
  241. Rembrandt dans le domaine public, mais cela aurait vraiment été une perte
  242. sèche. J'espère seulement qu'une partie de ceux qui utiliseront Rembrandt
  243. régulièrement serons possesseurs d'un original qu'il auront acheté. Il n'y
  244. a pas beaucoup de développeurs actif sur Falcon, alors si c'est pour tuer
  245. toutes les initiatives en piratant sauvagement, ce n'est pas la peine.
  246. Beacoup trouvent que les prix sont beaucoups trops élevés, que tous les
  247. softs sont nuls, que c'est des arnaques, et qu'en fait en piratant ils
  248. pénalisent l'éditeur... Mais considérez donc que je bosse sur ce Soft
  249. depuis le mois de juillet (j'ai eu mon Falcon en juillet), que j'ai fait
  250. le maximum pour obtenir des avis efficaces des graphistes que je pouvais
  251. trouver... Bref, que je me suis décarcassé ! Donc, celui qui utiliserais
  252. une version crackée de Rembrandt vivrais à mes dépends ! Il va de soit
  253. que si l'expérience se révèle intéressante financièrement, qu'alors je
  254. continuerais à coder sur Falcon. J'ai encore quelques bonnes idées, bien
  255. qu'il me manque de temps pour les réaliser. Encore un mot. Lorsque mon
  256. groupe (NeXT) à sorti des démos sur ST ("The Official Charts Compilation",
  257. "Phaleon Gigademo") nous avons contacté divers diffuseurs de domaine public.
  258. Nous avons reçus 180 Fr d'une société anglaise de diffusion de domaine
  259. publics que nous ne connaissions pas ! Nous avons eu 150 Fr par Caledonia
  260. PDL (encore des anglais), qui étaient les "diffuseurs officiels" de la
  261. Phaleon Demo en Anglettere. Et c'est tout. En France: 0000.00 Francs. Je
  262. soupçonne personnellemment une 'librairie' française vendant des démos de
  263. s'en mettre plein les poches sans rien reversé aux auteurs... Alors, le
  264. Freeware c'est sympa lorsque l'on est jeune et que l'on s'ammuse bien. Le
  265. Shareware c'est très bien lorsque l'on vie aux States ou dans ce type de
  266. pays... Mais en France, il faut regarder les choses en face ! Qui parmi
  267. nous prendra la peine d'envoyer une contribution financière, même minime,
  268. à l'auteur d'un super logiciel que l'on utilise souvent ??? (J'en profite
  269. pour remercier M. Jean Guy T. pour le chèque de 50 Fr que je ne lui avait
  270. pas demandé: Si je trouve un éditeur, je lui ferais une méga réduction sur
  271. le prix d'achat de l'original, à moins qu'il ne trouve cette beta nulle !).
  272.  
  273.   Je compte sur vous pour me faire par de vos opinions, aussi diverses
  274. soient elles ! 
  275.  
  276.  
  277.  Etant personellement moi aussi graphiste (même si je ne prétend pas égaler
  278. la crème des graphistes sur ST) je code sans projet vraiment défini. Cela
  279. fera certainement hurler les 'PROS' ceux qui codent en 'C' ou en 'Pascal',
  280. et qui ne parlent que de programmation structurée et modulaire. Pourtant,
  281. je n'ai qu'une idée globale de ce que devra être Rembrandt et cette idée
  282. est très mouvante, et cela explique donc la lenteur du développement. Il
  283. est très éprouvant de coder quelque chose 'informatiquement' fonctionnel,
  284. mais qui d'un point de vue ergonomique se révèle être lamentable. Par
  285. exemple, la loupe qui est présente dans cette version est nulle. Pourtant,
  286. j'en avais une au mois d'Aout qui permettait des grossissement de x2 à x10,
  287. qui carburait en une VBL, et qui était d'une taille conséquente... Mais à
  288. l'usage elle n'était pas du tout pratique, donc je l'ai enlevée (rassurez
  289. vous j'ai toujours le source, ce sera réutilisé pour la loupe style Neo !)
  290. bien que cela représenta plusieurs jours de code. (pendant les vacances, et
  291. pendant qu'il pleuvait ! Donc je codais sérieux parce qu'aller à la plage
  292. par ce temps... bla bla bla...)
  293.  C'est vraiment du 'real-time-coding'. Dès que l'on me signale un bug ou un
  294. défaut, je le note pour le corriger dès que possible. Mais pour cela, j'ai
  295. besoin d'aide, et l'aide c'est vous ! Donc, plus vite on me filera un coup
  296. de main, plus vite Rembrandt avancera. Je ne crache pas non plus sur des
  297. morceaux de code ! Si quelqu'un pouvait se charger de faire des routines
  298. RAPIDES pour charger du TIFF, du JPEG, ou autres formats tordus, qu'il me
  299. contacte. Vous pouvez aussi m'indiquer les grosse phôthes d'aurtografe afin
  300. d'obtenir une documentation convenable à lire... (Gasp)
  301.  
  302.  Quelques statistiques pour motiver les troupes, et montrer que je ne suis
  303. pas aussi glandeur que certains veulent bien le croire:
  304.  
  305. - Le PRG de Rembrandt fait environ 107Ko non compacté dont une ressource
  306.   de 13ko, environ 45ko de graphes TrueColor (les curseurs et les icones,
  307.   mais il ne sont pas encore tous utilisés !)
  308.   
  309. - Au niveau du code source, Rembrandt représente 321Ko de fichiers source
  310.   assembleur, répartis en une trentaine de modules (VIDEO/DISK/EFFET/OUTIL
  311.   /MÉMOIRE/GEM-VDI/etc...) dont 53ko uniquement réservés à la gestion des
  312.   différents formats d'image. Mis bout à bout, cela représente 18544 lignes
  313.   de pure code assembleur 68030... Je crois que l'assembleur est le seul
  314.   langage ou le source prend plus de place que le code obtenu finalement !
  315.   (La section TEXT n'occupe que 39ko sur les 107ko du total.)
  316.   
  317.     Si vous me contactez pour me signaler un bug, soyez précis. Je ne
  318. veut pas de messages du style: «Yé pas comprendre, j'è deux bombes quand
  319. j'lance ton prog...». Alors, vous êtes priés de me laisser vos coordonnées
  320. pour que je puisse éventuellement vous recontacter, ainsi que les quelques
  321. informations suivantes:
  322.  
  323.     - Modèle de falcon (Si il a ou non une "prise d'antenne", la taille
  324.     du dur interne...). C'est pour savoir si un falcon antique, sur le-
  325.     quel certains trucs tournent bizarement.
  326.     - Le type de système d'exploitation (numéro du TOS, de l'AES, si
  327.     Multitos était installé ou non, etc...) A cet effet, j'ai copié le
  328.     programme SYSINFO avec REMBRANDT. [Ce programme est du domaine
  329.     public, il est librement copiable. Mais je n'en suis pas l'auteur
  330.     et donc lisez les informations le concernant si vous voulez le
  331.     distribuer.] Consultez particulièrement la rubrique Cookie Jar, qui
  332.     permet de détecter un utilitaire résident. Si vous trouvez les
  333.     cookies suivant, ce n'est pas la peine de chercher plus loin !
  334.     (NVDI,BLOW,VSCR,OSBL,ΣFSC) Mais ils ne font pas planter Rembrandt,
  335.     ils interdisent seulement la visualisation de l'image (!!!).
  336.     - La liste des programmes qui se trouvent dans le dossier AUTO, de
  337.     même que vos accessoires de bureau, et la liste des CPX actifs.
  338.     - Votre type de moniteur, ainsi que tous les ajouts 'hard' que vous
  339.     avez peut-être mis sur votre bécanne (falcon speed, screen blaster,
  340.     ...)
  341.     - Si le bug est reproductible de façon systématique à 100%; s'il
  342.     est consécutif à une suite précise d'opérations (Charger une image,
  343.     puis aller dans les préférence, passer en mode SHRINK BOX, puis
  344.     dire 'abracadabra' pour faire apparaitre 23 bombes en TrueColor
  345.     avec des shades bobs...) ou s'il semble aléatoire. Et puis s'il
  346.     affecte le reste du système: Peut-on relancer un autre programme,
  347.     voir même Rembrandt lui-même, sans avoir de plantage. Un autre test
  348.     consiste à changer de mode vidéo (si on à deux bombes, c'est que
  349.     c'était plus grave que prévu).
  350.     - Si le bug surgit lors d'une opération disk, dites moi si vous
  351.     utilisez un sélecteur d'objet spécial (UIS3,sélectric,...), s'il
  352.     vous restait de la place sur disk (cas d'une sauvegarde), ou bien
  353.     si le fichier chargé avait des attributs spéciaux (protégé en
  354.     écriture, invisible, système, etc...), et si cela ce passe sur une
  355.     seule image particulière, essayez de me la faire parvenir pour que
  356.     je vois ce qu'il ce passe exactement !
  357.  
  358.     - Et puis finalement, toute information qui vous parait utile et 
  359.     que j'aurais oublié de noter dans cette liste. Merci.    
  360.     
  361.     Voila, c'est tout pour aujourd'hui. Mais surtout, avant de crier
  362. «OOuahhh c'est nul, y'a plein de bugs partout...», essayez de me contacter
  363. d'abord, merci. Un bug ça se corrige, une mauvaise réputation c'est dur à
  364. effacer... Do ya comprendo ??? héhé. A bientot pour une nouvelle version.
  365.  
  366. --> Si ca continue, les beta-versions de Rembrandt vont sortir plus vite
  367. que les mise à jour de Gem View !
  368.  
  369. Dernière minute ! Il semble que les premières critiques de Rembrandt soient
  370. positives. Si vous aimez, faites le moi savoir; et dites moi si vous seriez
  371. prêts à l'acheter (je parle du cadre d'un soft commercial, avec une vrai
  372. documentation, un service après vente, etc...) et quel prix vous seriez
  373. pret à y mettre. Mais bon, soyez sérieux. Je crois encore à l'avenir du
  374. Falcon, alors si pour m'écrire des choses peu fines... Je vous remercie par
  375. avance.
  376.  
  377.  
  378. -------------------------------------------------------------------------------
  379.  
  380.  
  381. Les fonctions:
  382. --------------
  383.  
  384. - BOUTON GAUCHE pour dessiner.
  385. - BOUTON DROIT: [C'est spécial, mais on s'y fait rapidement.]
  386.     1) On clicke normalement. C'est un click court, il permet de faire
  387.     apparaitre la boite à outils...
  388.     2) On reste appuyé sur le bouton droit. Là, on passe dans le mode
  389.     de capture de couleur (comme dans la loupe de CrackArt, pour ceux
  390.     qui connaissent). Cela signifie que tant que vous restez appuyé
  391.     sur ce bouton, la couleur du curseur de la souris change selon la
  392.     couleur sur laquelle se trouve ce dernier. Pour l'instant, c'est
  393.     horriblement simple. Là où cela ce complique un peu, c'est qu'on
  394.     peut aussi décider d'appuyer en plus sur le bouton gauche, sans
  395.     pour autant relacher le bouton droit... En bref, vous appuyez sur
  396.     les deux boutons à la fois ! Et alors là, c'est le délire total
  397.     puisque vous accédez au mode demi-teinte... En clair, au lieu de
  398.     bêtement choisir la couleur sur laquelle vous passez votre curseur,
  399.     Rembrandt vous calcule la teinte correspondant à la moyenne entre
  400.     cette couleur et la dernière couleur sélectionnée avec le bouton
  401.     droit seul. Exemple: Vous commencez votre dessin avec une image
  402.     noire. Vous faitez un gribouilli infame avec la couleur par défaut
  403.     [le rouge], puis vous pressez le bouton droit de la souris. A ce
  404.     moment là, la couleur du curseur change en fonction de la couleur
  405.     du point qui se trouve en-dessous. Allez sur une zone ROUGE, puis
  406.     sans la quitter, pressez maintenant le bouton gauche en plus du
  407.     bouton droit que vous maintenez toujours puis allez sur une partie
  408.     encore NOIRE du dessin: Maintenant, le curseur est ROUGE SOMBRE.
  409.     Vous pouvez relacher les boutons. [Note: Si vous relachez le
  410.     bouton gauche, vous repassez immédiatement en mode de capture
  411.     simple; donc commencez par relacher le bouton droit en premier !]
  412.     [Note 2: Si vous n'avez pas compris, relisez attentivement ! En
  413.     fait, c'est plus simple à utiliser.
  414.     
  415. - La BARRE D'ESPACEMENT invoque la palette de couleur.
  416.   (Les cases de couleurs ont une utilité pour le futur. En bref le bouton
  417.   de gauche sert a éditer la couleur et le bouton droit à la mémoriser.
  418.   [a moins que ce ne soit l'inverse ???] mais si vous restez appuyé sur le
  419.   bouton de gauche vous pouvez copier la couleur dans une autre case. La
  420.   même opération avec le bouton droit permettra de faire un dégradé entre 2
  421.   cases. La barre supérieure sert a déplacer la palette. Cliquer en dehors 
  422.   de la palette permet de capturer les couleurs de l'image. On peut aussi
  423.   utiliser les touches du pavé numérique avec ou sans SHIFT GAUCHE pour
  424.   modifier les composantes RVB.)
  425.  
  426. - HELP    Cela fait apparaitre une mini (très mini) loupe en haut à gauche.
  427.   Elle est archi buggée (Pas de clipping...) mais c'était juste pour faire
  428.   un test de présentation. Elle est trop petite de toute façon.
  429.   Si le curseur de la souris reste affiché, faites UNDO 2 fois de suite.  
  430. - '*'    Permet de choisir un affichage segmenté ou non.
  431. - '-'    Pour réduire le grossissement
  432. - '+'    Pour augmenter le grossissement.
  433.  
  434. Il reste pas mal de bugs encore... Et puis elle prend encore trop de temps
  435. machine, et donc cela influe ENORMEMENT sur les performances du reste, d'où
  436. clignotements désagréables... Ensuite, elle ne suit pas le scrolling... Le
  437. pire ce que c'est facile a faire ! Mais cela prends du temps.
  438.  
  439.  
  440. - UNDO        Ca fait un UNDO. C'est quoi UNDO ? Heu, en anglais cela
  441.   signifie 'défaire'. En clair, veuillez comprendre que si vous faites une
  442.   erreur de manipulation pendant le dessin et que vous vouliez l'annuler,
  443.   il vous suffit d'appuyer sur cette touche. Mais, si vous trouvez
  444.   finalement que ce n'était pas mal avant, vous pouvez toujours réappuyer
  445.   sur UNDO: On revient au point de départ. ATTENTION! Si vous faites la
  446.   moindre opération sur l'image, vous ne pourrez plus annuler une ancienne
  447.   modification. UNDO ne permet d'annuler que la dernière modification.
  448.   NOTE: Vous pouvez accéder à la palette ou au sélecteurs d'outils sans
  449.   que cela n'altère la mémoire réservée à la fonction 'UNDO. Par contre,
  450.   si vous revenez sous GEM, c'est cuit ! Toutes les zones mémoire sont
  451.   désallouées (à l'exception de l'image... hum) immédiatement, sans
  452.   espoir de récupération (A moins que quelqu'un ne fasse un rippeur
  453.   d'images fonctionnant sous GEM ?).
  454.   NOTE2: Ppour de basses raisons techniques, il est très long pour le petit
  455.   MC68030 de bouger plusieurs centaines de Ko de façon rapide... Alors il y
  456.   a parfois des effets "d'inertie" lorsque l'on travaille sur de très
  457.   grosses images. M'enfin, j'essaye d'optimiser tout cela !  
  458.  
  459.   Pour ce qui suit, j'ai indiqué entre crochets la touche qui permet
  460. d'accéder à la fonction en question. Pour l'instant, ces raccourcis ne sont
  461. pas modifiables, mais ce sera possible ultérieurement. Remarquez que les
  462. raccourcis sont indiqués dans le formulaire de sélection au niveau du titre
  463. de la fonction.
  464.  
  465. DESSIN A MAIN LEVÉE: [D] Cliquez avec le bouton gauche, puis dessinez en
  466. maintenant le doigt appuyé sur le bouton gauche.
  467.  
  468. LIGNE: [L] Cliquez pour indiquer le point de départ de la ligne, puis
  469. relachez le bouton et bougez la souris. Lorsque vous recliquerez, la ligne
  470. sera tracée définitivement. C'est le mode de fonctionnement utilisé dans
  471. Degas Elite/CrackArt & cie. Si vous préférez le mode de fonctionnement de
  472. NeoChrome, faites le moi savoir (Pour ceux qui ne connaissent pas NeoChrome
  473. sachez qu'il faut resté appuyé sur le bouton tout au long du tracé, et que
  474. la ligne est tracée lorsque l'on relache le bouton. C'est une question
  475. d'habitude !). Si il y a une demande suffisante, je peut rajouter cela en
  476. option dans les paramétrages. NOTE: Il est possible d'utiliser une touche
  477. SHIFT pendant que l'on trace une ligne, cela force le tracé d'une droite
  478. horizontale, verticale, ou diagonale. C'est extrémement utile lorsque l'on
  479. a tendance à trembler, ou que l'on a une souris 'fatiguée'... (Il est
  480. content le Chromix ??? Tu la voulais cette fonction, hein ! Avoue...)
  481.  
  482. LIGNE CONTINUE: [K] même principe, même fonctionnement, mêmes remarques; la
  483. différence se trouve dans le fait que lorsque l'on trace la ligne, on
  484. commence immédiatement à en tracer une seconde partant du bout de la
  485. dernière ligne tracée. Cela permet de tracer rapidement des formes que l'on
  486. peut remplir ensuite grace à la fonction de remplissage. Enfin, on prend la
  487. loupe pour faire de la retouche... Facile non !!!¿¿¿???
  488.  
  489. RAYON: [R] Blalalalalalabla... la nouvelle ligne part du point de départ de
  490. la ligne précédente. Avec ca, si vous n'arrivez pas à dessiner des vélos,
  491. des chariots, ou des voitures anciennes éqipées de roues à batons... Hum,
  492. dommage que la routine de cercle ne soit pas encore implémentée !
  493.  
  494. NOTE: La fonction UNDO est inactive lorsque l'on trace des LIGNES CONTINUES
  495. et des RAYONS. Mais ce n'est que temporaire. J'espere trouver rapidement
  496. une solution au petit problème technique qui s'est posé !...
  497.  
  498.  
  499. RECTANGLE: [F] même principe que pour la ligne, sauf que c'est un cadre
  500. qui rejoint les deux extrémités, au lieu d'une ligne. Et hop ! SHIFT
  501. repart à l'attaque, et vous permet de tracer des CARRÉS. Donc, vous tracez
  502. votre rectangle, et une légère pression sur la touche SHIFT de gauche vous
  503. permettra de tracer un rectangle dont tous les cotés sont de même
  504. longueur ! (C'est beau la technique...) NOTE: Vous pouvez aussi appuyer
  505. sur le SHIFT de droite ! NOTE2: D'ailleur, vous pouvez appuyer sur les deux
  506. en même temps si ca peut vous faire plaisir, mais avec seulement deux mains,
  507. ca devient dur de bouger la souris !
  508.  
  509. BOITE: [B] Identique qu rectangle, exepté que le cadre est rempli au fur et
  510. à mesure que l'on bouge la souris.
  511.  
  512. CERCLE: [C] Rien a voir avec les autres programmes de dessin ! (Pourquoi
  513. faire simple...). Un cercle apparait, il suit les mouvements de la souris.
  514. Son rayon est fixe. Pour changer le rayon, il suffit d'utiliser les touches
  515. [SHIFT GAUCHE] et [ALTERNATE]. En fait, c'est asser pratique comme systeme,
  516. car cela permet de placer le cercle précisement tout en conservant la
  517. possibilité de changer sa dimension; de plus le rayon ne dépendant pas de
  518. la position de la souris cela permet d'avoir des grands cercles sans trop
  519. de problèmes. Le rayon est ensuite mémorisé jusqu'au prochain changement.
  520. Cela permet de tracer plusieurs cercles de même taille sans se compliquer
  521. l'existance. Enfin, le bouton droit permet de quitter le traçage de cercle.
  522. (Pas encode codé... seulement le disque !)
  523.  
  524. DISQUE: [Q] Même principe, sauf que le cercle est rempli en temps réel.
  525. (Il reste un bug: Certains pixels restent affichés lorsque l'on déplace le
  526. disque à l'écran.)
  527.  
  528. AEROSOL: [A] Cliquez pour passer en mode aérosol. Un cercle apparait, qui
  529. suit les mouvements de la souris. Vous pouvez diminuer ou augmenter le
  530. diametre de ce cercle en utilisant les touches [SHIFT] et [ALTERNATE]. Si
  531. vous pressez le bouton gauche, vous déclanchez l'aérosol: Une zone 
  532. circulaire commence à se teinter de la couleur que vous aviez choisi. Cette
  533. coloration est progressive, donc si vous bougez la souris vous pouvez
  534. colorier de vastes zones en donnant de 'subtiles' nuances de couleurs...
  535. Le bouton droit permet de quitter l'aérosol. Les touches de fonction sont
  536. utilisées pour changer la vitesse de coloration. F1 donne une vitesse de
  537. remplissage très rapide, alors que F10 est très lent. En fait, cela
  538. fonctionne quasiment comme pour le cercle. (Les touches de vitesse ne sont
  539. pas encore gérées.)
  540.  
  541. PEINTURE: [Z] Cliquez sur une couleur, cela permettra de changer la couleur
  542. de tous les points contigus et de la même couleur. Attention ! Si vous n'
  543. êtes pas un habitué des programmes de dessin: Le remplissage est une
  544. fonction extrémement stupide. Cela signifie que si vous voulez remplir une
  545. forme crée par exemple avec la ligne continue, mais dont les deux bouts ne
  546. se joignent pas exactement (supposons qu'il y ait un point d'écart...),
  547. et bien, le remplissage se produira effectivement, mais il y aura une fuite
  548. au niveau du point manquant, et donc tout de qui sera de la même couleur à
  549. l'extérieur du périmètre sera aussi colorié ! Donc, prudence. Si vous n'
  550. êtes pas sur de vous, faites un petit controle avec la loupe. De toute
  551. façon, il reste toujour la touche UNDO pour vous sauver !
  552.  
  553. - ENTER/RETURN    C'est tout bete, mais ces deux touches permettent de
  554.   revenir au menu principal... C'est bon à savoir (C'est pour cela que je
  555.   le rapelle !) Pourquoi ces touches ? Bah disons que si vous utilisez le
  556.   clavier lorsque vous êtes sous GEM, c'est forcement sur l'une d'elles
  557.   que vous devez appuyer pour activer le PETIT bouton entouré de vert sur
  558.   lequel se trouve inscrit DESSINER... Alors, autant essayer de rester
  559.   cohérent !
  560.    
  561. - INSERT    Fait tourner l'image autour d'un axe vertical.
  562.  
  563. - CLR HOME    Fait tourner l'image autour d'un axe horizontal. C'est très
  564.   utile pour charger des images TGA... qui sont à l'envers.
  565.  
  566. - FLECHE GAUCHE    Rotation de l'image de 90° dans le sens inverse des
  567.   aiguilles d'une montre (clockwise... Dungeon Master rules !). Evidemment,
  568.   rien n'est perdu: Le format de l'image est "patché" de façon à ce qu'une
  569.   image 320x200 "rotatée" devienne une image 200x320. Je pense que la
  570.   routine est suffisament rapide pour suffire.
  571.  
  572. - FLECHE DROITE    La même chose, mais avec des rotation de 90° dans le sens
  573.   des aiguilles. [Ceux qui n'ont que des montres et réveils digitaux...]
  574.  
  575. ATTENTION: Il peut y avoir des plantages lors des rotations sur de grosses
  576. images. En effet, lorsque l'on retourne une image 320x200, elle devient une
  577. image 200x320, et donc la taille de l'écran nécéssaire pour son affichage
  578. devient parfois problématique (320x320 au minimum, car on ne peut pas
  579. avoir un écran de 200 pixels de large...). Ce n'est pas un bug ! C'est
  580. juste un test à rajouter, mais qui représente pas mal de code... Alors je
  581. le laisse en attente.
  582.  
  583.  
  584.  
  585. ----------------------------------------------------------------------------
  586.  
  587.             Juste pour le fun:
  588.             ------------------
  589.             
  590.  Certaines personnes m'ont réclamé des effets à la CrackArt, alors j'ai
  591. pris une petite heure pour en coder quelques uns. Ils sont tous réversibles
  592. par UNDO, et seront évidement regroupé dans un menu propre. Pour l'instant,
  593. ils sont regroupés sur les touches de fonction. Au niveau code, les effets
  594. d'assombrissement et d'éclaircissement sont effectués pas une seule routine
  595. dont le parametre est fixé à ±50% de luminosité. Évidement il sera possible
  596. de régler précisement le taux désiré !
  597.  
  598. - F1    C'est pour assombrir l'image
  599. - F2    C'est pour éclaircir l'image
  600. - F3    C'est pour afficher l'image en négatif
  601. - F4    C'est pour faire un effet de flou sur l'image. En répétant
  602.     plusieur fois la manoeuvre, on obtient une vague reconstitution
  603.     d'un des effets de Studio Photo (vitesse). Une vague teinte
  604.     verdatre fini par apparaitre, mais ca été codé en 5' chrono alors !
  605. - F5     C'est le même effet mais en mode global (moyenne pondérée des 8
  606.     9 points considérés pour un pixel donné). Ca rame un max, y'a plein
  607.     de multiplications inutiles, et ca donne des résultats étranges de
  608.     temps à autre ! [Il y aurait un vilain bug que cela ne m'étonnerait
  609.     pas !]
  610. - F6    Affiche l'image convertie en niveaux de gris. En fait, il manque la
  611.     moitiée des teintes de gris... Hum ! C'est très laid...
  612.  
  613.  
  614.  
  615. -----------------------------------------------------------------------------
  616.  
  617.             Parlons ergonomie...
  618.             --------------------
  619.  
  620.   En supposant que vous utilisiez Rembrandt dans un mode 16 couleurs, il ne
  621. vous a pas échappé que certains des boutons (ceux qui permettent de quitter
  622. un formulaire) étaient entourés d'une bordure colorée. Et bien sachez que
  623. le bouton qui a une bordure VERTE est systématiquement le bouton qui sera
  624. validé par une pression sur les touches ENTER ou RETURN, tandis que ceux
  625. qui ont une bordure ROUGE sont ceux qui permettent de quitter le formulaire
  626. mais qui nécéssitent d'être cliqués à la souris... J'espère que vous n'êtes
  627. pas daltoniens... Maddrrrr'e dio !
  628.               
  629.   Si vous avez lancé le programme avant de lire la doc, vous avez peut-être
  630. réussi à faire apparaitre le sélecteur de palette (barre d'espace), ou bien
  631. encore le sélecteur d'outils (bouton droit brievement). Et là, il faut bien
  632. l'avouer, ce n'est pas du GEM. Je dirais même que ce n'est pas GEM du tout.
  633. Néamoins, j'ai tenté de ne pas trop perturber l'utilisateur de Falcon, en
  634. lui proposant une interface 'similaire' à celle que propose GEM. Donc, on
  635. peut fermer le formulaire en cliquant sur la case de fermerture située à
  636. gauche (qui ô surprise ! Possède le même symbole '' que celui que met le
  637. GEM sur ses propres fenêtres...), ou bien le déplacer en cliquant sur la
  638. bande supérieure qui contient le titre. Si vous êtes observateurs, vous
  639. aurez peut-être constaté que les boutons sont représentés en relief, et que
  640. en général, ils s'enfoncent lorsque l'on appuie dessus. Maintenant, parlons
  641. des sélecteurs de façon individuelle:
  642.  
  643.  
  644. LA PALETTE: On l'active en appuyant sur espace, et on la fait disparaitre
  645. de la même manière (on peut aussi cliquer dans la case de fermeture ou
  646. encore utiliser la touche ESCAPE). Il est possible de capturer une couleur
  647. dans le dessin en cliquant sur l'image. On peut changer les niveaux de
  648. rouge/vert/bleu (ou bien de cyan/magentat/jaune si on est en mode CMJ, mais
  649. ce n'est pas encore implémenté.), soit en déplaçant les curseurs avec la
  650. souris (comme un ascenseur GEM), soit en choisissant les boutons '+' et '-'
  651. soit en utilisant le clavier:
  652.  
  653.     INSERT:+ rouge  HAUT:+vert  CLR HOME:+bleu
  654.     GAUCHE:- rouge    BAS: -vert  DROITE:  -bleu
  655.  
  656. Vous pouvez par ailleur utiliser ces mêmes touches combinées avec un appui
  657. sur SHIFT pour mettre au minimum ou au maximum les niveaux... Notez que
  658. cela fonctionne aussi si vous utilisez la souris, bien que dans ce cas là
  659. il me paraissent plus judicieux d'utilisez le bouton droit, qui, O miracle
  660. donne exactement le même résultat...
  661.  
  662. Pour ce qui est des cases à droite, oubliez les pour l'instant. Si vous
  663. arrivez à vous en servir, vous pouvez toujours les utiliser pour stocker
  664. des teintes puisqu'elles ne sont pas réinitialisées d'un appel à l'autre.
  665.  
  666.  
  667. LES OUTILS: Je pense que le système est simple à comprendre. La rangée
  668. d'icones située en haut du formulaire représente les outils disponibles
  669. (Crayon, règle, équerre, compas, ...), la seconde rangée indique la liste
  670. des opérations que l'on peut effectuer avec cet outil (ainsi, avec la
  671. règle on peut tracer des lignes simples, des lignes continues, des rayons).
  672. Enfin, le cadre intermédiaire affiche en clair une description de la
  673. fonction sélectionnée, ainsi que le raccourci clavier qui permet de l'
  674. activer durant le dessin. Pour sélectionner les outils, il suffit donc de
  675. cliquer sur l'icone correspondante. Sachez par ailleur qu'il est possible
  676. là encore d'utiliser le clavier: Les touches de fonction permettent de
  677. changer d'outil, tandis que la rangée de chiffres située juste en dessous
  678. permet de choisir la fonction. En clair: [F2][2] permet de choisir la règle
  679. pour tracer des lignes continues (K-Lines chez Degas & Cie). Il est
  680. évidement possible de quitter ce formulaire en utilisant [ESPACE] ou [ESC].
  681. Un click souris à l'extérieur du formulaire aura d'ailleur exactement le
  682. même effet.
  683. NOTE: De part le système de gestion des outils que j'utilise, Rembrandt
  684. mémorise en permanence la fonction courante pour chaque outil. En clair,
  685. cela signifie que si pour la REGLE vous avez choisis la fonction LIGNES et
  686. que vous choisissiez ensuite COMPAS->DISQUE, et bien Rembrandt saura encore
  687. que vous travailliez avec les LIGNES lorsque vous resélectionnerez la
  688. règle.
  689.  
  690.  
  691. Remarque: Si vous trouvez que la routine de déplacement des formulaires n'
  692. est pas terrible (trop lente, saccadée, buggée, etc...) faites le moi
  693. savoir, car cette routine n'est PAS DU TOUT optimisée. En gros, pour ceux
  694. qui codent, disons que c'est un MOVE.W (a2)+,(a3)+ avec deux DBRA... C'est
  695. donc LARGEMENT amméliorable ! [En tout cas, ca tient dans le cache sans
  696. aucun problème ! Héhéhé...] Pendant que j'y pense: Certains penserons que
  697. j'ai dessiné les formulaires et que j'ai sauvegardé un gros bloc de pixels.
  698. Que neni ! Tous ces formulaires sont affichés comme avec le GEM en une
  699. succession de cadres pleins ou vide, en relief ou non... Bref, c'est un peu
  700. comme une ressource, alors ca ne prends quasiment pas de place et cela me
  701. permet d'avoir une uniformité entre les formulaires sans me fatiguer...
  702. Quoique... Je suis rendu à la version 1.2 du gestionnaire de formulaire, et
  703. ca représente pas mal de boulot puisqu'il a fallu gérer les ascenseurs, les
  704. raccourcis clavier, etc... M'enfin ca marche de façon honorable !
  705.  
  706. J'essaie d'optimiser toutes mes routines d'affichage afin d'éviter les
  707. effets de clignotement, disparitions, tremblotement, .... mais ce n'est pas
  708. toujours évident à faire.
  709.  
  710. Pour ce qui est de l'ergonomie des outils eux-mêmes, toutes les suggestions
  711. serons les bienvenues. Néanmoins je pense que c'est asser correct, mais si
  712. cela sort parfois de l'ordinaire ! (Vive la modestie...)
  713.  
  714.  
  715. {Je vient d'avoir une idée stupide. Comment est géré le CPX qui permet de
  716. choisir la couleur des fenêtres ? Parce que rien ne m'empeche de changer la
  717. couleur de mes formulaires TOS en prenant celles des fenêtres système !
  718. Mais je ne peut pas faire les trames, alors bon...}
  719.  
  720.  
  721. -------------------------------------------------------------------------------
  722.  
  723.  
  724. La gestion des fichiers:
  725. ------------------------
  726.  
  727.   Même si il ne s'appelle pas GEMVIEW, Rembrandt peut valablement être
  728. utilisé comme «Viewer» d'image ou comme un super programme de conversion de
  729. fichiers...  En effet, a ce jour Rembrandt charge de façon satisfaisante
  730. les fichiers portant les extensions suivantes:               
  731.  
  732.  - ART (Art Director)
  733.  ~ CA1 (Crack Art compacté et non compacté)
  734.  - GIF (Graphic Interchange Format, ╜ CompuServ, packé LZW 87a)
  735.  - IFF (Interchange File Format, compacté ou non, avec rasters ou non, y 
  736.        compris les images HAM.)
  737.  - KID (FullShow, ╜ Killer D)
  738.  - NEO (Neochrome, ╜ Dave Staugas)
  739.  - PC1 (Degas basse résolution compacté, ╜ TOM Hudson)
  740.  - PI1 (Degas basse résolution non compacté, ╜ Tom Hudson)
  741.  ~ PNT (Prism Paint, ╜ Lexicor Software)
  742.  # SD0 (Dali basse résolution) [à tester]
  743.  - SPC (Spectrum 512 compacté, ╜ TRIO Inc) 
  744.  - SPU (Spectrum 512 non compacté, ╜ TRIO Inc)
  745.  - TCP (Rembrandt True Color Picture, ╜ Dbug II)
  746.  - TG1 (COKE format, utilisé par le BINARIS Viewer)
  747.  ~ TGA (Targa Bit Image)
  748.  ~ TPI (True Paint, ╜ HiSoft)
  749.  ! XGA (XGA Show)
  750.  
  751.  Signification des symboles:
  752.  [-] Pas de problème pendant les essais
  753.  [#] Jamais testé, je n'ai pas d'image à ce format
  754.  [~] Fonctionne a priori, mais routine incomplète, il manque des tests 
  755.  [!] Si vous avez des images XGA qui ne sont pas reconnues, donnez moi leur
  756.      format (largeur/hauteur) pour que je les rajoute à la liste...
  757.  
  758.  
  759.  
  760.   Jusqu'à la version 3.03ß, la détection se faisait uniquement sur le type
  761. d'extension du fichier. J'ai rajouté un formulaire qui permet de forcer le
  762. programme à charger une image en faisant "abstraction" de son extension.
  763. Mais attention, si le fait de charger un fichier de 32034 ou 32066 octet
  764. parait compréhensible pour une image DEGAS non compressée, ne me tenez pas
  765. pour responsable d'éventuels plantages dans certains format: Si vous pouvez
  766. me confirmer à 100% que le fichier MACHIN.ZKW est une image DEGAS ELITE
  767. compactée, alors je vous tire mon chapeau. Tout ca pour dire que je ne
  768. garantie pas à 100% que la vérification du format sera exact, et donc ne
  769. causera pas de plantage. A vous de faire attention. De toute façon, c'est
  770. paramétrable, et l'option CHARGEMENT PAR L'EXTENSION, permet de dévalider
  771. cette liberté: Une image DEGAS s'appelera PI1 ou PC1, et c'est tout.
  772.   
  773.   Je ne garantie pas que les routines de chargement soient parfaites, et
  774. elles sont parfois simplifiées. Progressivement j'amméliorerait la
  775. diversité des formats chargés, mais on dispose déja d'une base convenable
  776. pour effectuer un travail potable... On peut noter les problèmes suivants:
  777.  
  778. - Certaines IFF sont mal chargées. Il arrive que dans certaines image en
  779.   provenance de NeoMaster les rasters soient mal gérés (Problème avec le
  780.   raster no1 en conflit avec la palette générale).
  781.   Les images en modes Extra Half Bright ne sont pas encore gérées. (Ce
  782.   n'est pas de la pure faignantise ! Je n'ai pas trouvé d'images...) Note,
  783.   quelqu'un de Besançon m'a passé quatre images IFF dessinées par un
  784.   graphiste de 'The Hord' (DIEU). J'arrive pas à les charger correctement,
  785.   mais CrackArt/NeoMaster/GEMView/IFFConvert n'y arrivent pas non plus !
  786.   Il n'y a que StudioPhoto qui y arrive... Peut-être un type de compactage
  787.   inconnu ? Je vais chercher. Si vous avez des infos la-dessus...
  788.  
  789. - Seul le format GIF87a est supporté.
  790.  
  791. - Le format PNT/TPI foire de temps à autres. Et en particulier, les images
  792.   Prism Paint compactées ne sont pas chargées.
  793.  
  794. - Les images TGA sont affichées à l'envers. Utilisez [INSERT] et/ou [CLR
  795.   HOME] pour y remédier.
  796.  
  797.  
  798.  
  799.   Pour la sauvegarde, il n'y a que trois formats "directs"... Par cela, je
  800. veut dire que ce sont des formats qui n'entrainent pas de perte physique
  801. d'information.
  802.   Ces formats sont le format interne de Rembrandt (.TCP), le format COKE
  803. (.TG1) qui est utilisé pas le BNR Viewer, et le format TGA 24 bits. Le
  804. format TGA 16 bits prends moins de place, mais on perds un niveau
  805. d'intensité pour le vert, et donc on ne peut sauver que 32768 teintes
  806. différentes sur les 65536 possible. Il va de soit que le TGA 24 bits est le
  807. meilleur format pour exporter les fichiers vers d'autres machines (PC, MAC,
  808. ...), mais il faut prendre conscience qu'une image TGA prends 50% de place
  809. en plus comparé aux formats TG1/TCP.
  810.  
  811.   Pourquoi utiliser le format TCP plutot que le TG1 ???
  812.  
  813.   Le format TCP présente divers avantages: 
  814. - Il est aussi rapide à charger que le TG1 (Ces deux formats permettent un
  815.   transfert instantané de l'image).
  816. - Il permet d'ajouter des commentaires à l'image (nom de l'auteur, adresse,
  817.   description, date de réalisation,...), même que les musiciens écrivent
  818.   dans les modules, pourquoi les graphistes n'en auraient-il pas le droit ? 
  819. ~ Il permet de mémoriser la palette de travail (voir dans l'introduction).  
  820. ~ Il permet de sauver les images dans un format compacté.
  821. - Il conserve diverses informations telles que la dernière couleur utilisée,
  822.   la couleur définie comme étant TRANSPARENTE pour les opération de bloc,
  823.   le mode de visualisation utilisé (overscan/double largeur...)
  824. - Permettra lorsque Rembrandt gerera plusieurs images de charger/sauver
  825.   plusieurs images simultanément, de taille et/ou résolution variables.
  826.  
  827. [~: Non encore implémenté]
  828.  
  829.  
  830. POUR LES CODEURS:
  831. -----------------
  832.  
  833.     Voici une description du format TCP. Normalement, il ne devrait pas
  834. y avoir de changement donc vous pouvez raisonablement vous fier aux infos
  835. suivantes. Mais, surtout respectez les offsets ! Je peut décider de rajouter
  836. des variables dans le fichier pour que Rembrandt les exploite, mais si vous
  837. faites un viewer et que vous respectiez ces offsets alors vous pourrez lire
  838. toutes les images Rembrandt de ce type, non compactées. Je n'ai pas encore
  839. décidé de la méthode à utiliser pour compacter des images True Color, alors
  840. faites un test sur le type de compactage. Si vous trouvez 'zéro' c'est que
  841. l'image n'est pas compactée et que vous pouvez donc la charger sans
  842. problème.
  843.  
  844.     ATTENTION! Si vous voulez exploiter le mode multi-image dans un
  845. viewer d'images, cela ne vous dispense pas de tester le bloc de palettes !
  846. Si vous ne faites pas cela, vous allez avoir des problèmes. Donc, en
  847. supposant que vous pointiez sur une image (bloc 'PICT'), pour aller à
  848. l'image suivante, il faut faire:
  849.  
  850.    Adresse du bloc 'PICT'
  851.  + longueur de l'entete de ce bloc.
  852.  + longueur totale des données de ce bloc.
  853.  -> Pointe sur un nouveau bloc 'PICT', 'COLR', ou autre à venir...
  854.     Tant que l'on ne trouve pas l'identificateur 'PICT', c'est que l'on
  855.     ai dans des données concernant l'image courante, mais qui ne sont pas
  856.     utiles a priori pour un viewer... Donc ,on continue à parcourir les
  857.     blocs en ajoutant la taille de leur entete+taille des données à leur
  858.     adresse de départ. Evidement, on pense à tester le nombre d'images,
  859.     qui est indiqué dans l'entête principal.
  860.      
  861.  
  862.  Format d'une image Rembrandt Type 1[*.TCP]
  863.  >L'entete principal du fichier
  864.    8 octets d'entete ['TRUECOLR']
  865.    4 octets donnant la longueur totale du fichier
  866.    2 octets donnant la longueur de l'entete
  867.    2 octets pour le numéro de version du format
  868.    2 octets pour indiquer le nombre d'images stockées
  869.  
  870.  >L'entete de chaque image
  871.    4 octets pour indiquer que l'on a une image ['PICT']
  872.    4 octets donnant la longueur totale de l'image
  873.    2 octets donnant la longueur de l'entete
  874.    2 octets pour la largeur en pixels de l'image [Paire]
  875.    2 octets pour la hauteur en pixels de l'image
  876.    2 octets pour indiquer la couleur de transparence par défaut
  877.    2 octets pour la couleur du crayon par défaut
  878.    1 octet pour indiquer le mode de compactage [0:Aucun]
  879.    1 octet pour indiquer la présence d'une palette [0:Aucune]
  880.    1 octet pour indiquer si l'on doit utiliser l'overscan
  881.    1 octet pour indiquer si l'on doit utiliser la double largeur
  882.    1 octet pour indiquer si l'on doit utiliser la double hauteur
  883.    1 octet vide... pour alligner sur une adresse paire.
  884.  175 octets de texte (4*35)
  885.      n octets potentiels futurs
  886.    x octets pour l'image...
  887.    
  888.  >L'entete pour la palette si elle est présente
  889.    4 octets pour indiquer que l'on a une palette ['COLR']
  890.    4 octets donnant la longueur totale de la palette
  891.    2 octets donnant la longueur de l'entete
  892.      n octets non encore définis !
  893.    x octets pour la palette...
  894.    
  895.     Les valeurs pour Devpac:
  896.     
  897.  rsreset
  898. tcp_main_identificateur        rs.l 2
  899. tcp_main_total_fichier        rs.l 1
  900. tcp_main_offset            rs.w 1
  901. tcp_main_version        rs.w 1
  902. tcp_main_nombre_image        rs.w 1
  903. tcp_main_longueur        rs.b 1
  904.  
  905.  rsreset
  906. tcp_data_identificateur        rs.l 1
  907. tcp_data_total_image        rs.l 1
  908. tcp_data_offset            rs.w 1
  909. tcp_data_largeur        rs.w 1
  910. tcp_data_hauteur        rs.w 1
  911. tcp_data_transparent        rs.w 1
  912. tcp_data_crayon            rs.w 1
  913. tcp_data_packing        rs.b 1
  914. tcp_data_palette        rs.b 1
  915. tcp_data_overscan        rs.b 1
  916. tcp_data_double_largeur        rs.b 1
  917. tcp_data_double_hauteur        rs.b 1
  918. tcp_data_null            rs.b 1
  919. tcp_data_commentaires        rs.b 175
  920. tcp_data_longueur        rs.b 1
  921.  
  922.  rsreset
  923. tcp_color_identificateur    rs.l 1
  924. tcp_color_total_palette        rs.l 1
  925. tcp_color_offset        rs.w 1
  926. tcp_color_longueur        rs.b 1
  927.  
  928.  
  929.  Vous avez le droit de faire une routine de lecture d'images TCP, ou
  930. d'écriture, mais vous n'avez pas le droit de modifier ce format en y
  931. rajoutant ou supprimant quelquechose ! Si vous y tenez vraiment, alors
  932. contactez moi pour que l'on voit ca ensemble. Si tout le monde rajoute
  933. son petit quelquechose, ca va être le bazard...
  934.  
  935. -------------------------------------------------------------------------------
  936.  
  937.  
  938. Problèmes et remarques en vrac:
  939. -------------------------------
  940.  
  941. - En VGA, il n'est pas possible d'avoir l'overscan, ni le mode 80 colonnes.
  942.   C'est de la faute du Falcon, pas de la mienne.
  943.  
  944. - UNDO ne marche plus avec la routine de ligne. C'est temporaire !
  945.  
  946. - Si la fenêtre ne se redessine pas après être retourné sous GEM, il
  947.   suffit de cliquer et ca revient. (problème de redraw rare)
  948.  
  949. - Je n'ai pas encore géré le déplacement des formulaires dans le cas où la
  950.   taille de l'image est plus petite que celle du formulaire en question.
  951.   Ma routine de centrage ne se pose pas de question, et centrer une boite
  952.   de 120x160 dans une image de 50x50, ca ne marche pas terrible... Et donc
  953.   j'affiche en dehors de l'écran... Et qu'est ce qu'il y a en dehors de
  954.   l'écran ??? Hein, je vous l'demande... En tout cas ca fait BOOM !
  955.  
  956. - Le programme détecte lui même si il a été lancée comme programme GEM, ou
  957.   si il a été mis dans le dossier AUTO... (On ne sait jamais !!!)
  958.  
  959. - Si MultiTos est installé, une boite d'alerte prévient que Rembrandt ne
  960.   tourne pas sous MultiTos ! En fait c'est faux. Rembrandt tourne sous
  961.   MultiTos dès lors que l'on travaille en mode 'pas de protection mémoire'.
  962.   Le problème vient du fait que pour faire un hardscroll efficace, je suis
  963.   obligé de passer en mode superviseur pour installer une nouvelle routine
  964.   VBL qui modifie le registre $ffff820e.w definissant la largeur d'une
  965.   ligne  de la mémoire vidéo. Si vous connaissez une autre méthode, faites
  966.   moi signe ! Donc, pour l'instant la partie GEM tourne à 100% sous MiNT,
  967.   tandis que le reste tourne comme il peut. En bref: Sous MINT, on peut
  968.   charger et sauver, mais pas visualiser.
  969.  
  970. - A priori, la détection de machine fait que Rembrandt refusera de se
  971.   lancer sur un ST/STE/TT... La détection passe maintenant par le Cookie
  972.   Jar. Il semble que, Rembrandt tournerait sur un Falcon 060 à 100 Mhz, à 
  973.   condition qu'Atari conserve la compatibilité ascendante au niveau de la
  974.   fonction SetScreen [Xbios(5)]. J'ai une question stupide: Comment peut
  975.   on savoir si la machine dispose d'un mode True Color ??? Je trouve que
  976.   le cookie _VDO=$00030000 n'est pas vraiment une indication suffisante.
  977.   Cela laisse supposer que toutes les bécannes à venir qui auront le
  978.   cookie _VDO supérieur ou égal à cette valeur auront le même mode True
  979.   Color 16 bits ??? Parce que si l'on intérroge le GEM on peut juste savoir
  980.   si le mode vidéo ACTUEL est en plus de 32000 couleurs ! Gasp.  
  981.  
  982. - Les résolutions variées sont (presque) bien gérées. A propos ! Je ne sais
  983.   pas détecter la présence de certain 'étendeurs de résolution' tel que
  984.   celui programmé par le groupe MCS. Pour l'instant, la reconnaissance
  985.   porte sur FALCON SCREEN (Cookie:ΣFSC), SCREEN BLASTER (VSCR,OSBL), et sur
  986.   BLOW UP! (BLOW). C'est très génant: En effet, je passe de la résolution
  987.   système à la résolution de travail (True Color), en utilisant SetScreen.
  988.   Le retour se fait en réutilisant la résolution antérieure [Xbios(88,-1)],
  989.   et les adresses physiques et logiques antérieures [Xbios(2) et Xbios(3)].
  990.   Or, si je choisie de travailler en overscan 1600x600 16 couleurs avec
  991.   l'un des multiples programmes Freeware existant, et que je lance
  992.   Rembrandt, on à un problème ! A priori tout va bien; on passe en mode
  993.   dessin, ca gaze toujours; on repasse sous GEM... Gasp, Y'a un problème...
  994.   L'est passée où la méga-résolution-pas-tout-à-fait-standard ??? Si vous
  995.   avez une solution PROPRE, faites m'en part. Merci. Il faudrait que les
  996.   fonctions Xbios soient patchées de manière à ca que lorsque l'on renvoie
  997.   le code de résolution initial qu'alors l'utilitaire restaure sa propre
  998.   résolution correctement.
  999.  
  1000. - Pour des raisons similaires, NVDI n'est pas utilisables. Tous les
  1001.   programmes utilisant les fonctions Xbios Vidéo sont affectés. Regardez
  1002.   donc les démos comme 'speeder'... 
  1003.  
  1004.     -> La solution adoptée pour l'instant est la suivante: MultiTos,
  1005.  NVDI, et autres Falcon Screen sont détectés lors du lancement de
  1006.  Rembrandt qui se charge normalement. On peut charger une image, la
  1007.  sauver sous un autre format, etc... Il n'est par contre pas possible
  1008.  de visualiser l'image car une boite d'alerte vous explique le problème
  1009.  exact. En attendant que je trouve une méthode pour fonctionner avec ces
  1010.  utilitaires, j'espère que cela vous suffira. Au moins, il n'y a plus du
  1011.  tout de plantages !    
  1012.   
  1013.    
  1014. Les trucs:
  1015. ----------
  1016.  
  1017. - XBOOT !...
  1018.   Rembrandt n'est pas un modèle de compatibilité ! J'en suis tout a fait
  1019.   conscient, et j'ai espoir de pouvoir remédier à une bonne partie de
  1020.   ces problème. Pour l'instant, c'est agaçant de devoir désactiver NVDI,
  1021.   FalconScreen, ScreenBlaster, OverDesk, etc... avant de pouvoir lancer
  1022.   Rembrandt ! Mais, vu que de toute façon il est quasiment indispensable
  1023.   d'avoir un bureau différent pour chaque type d'application l'achat d'un
  1024.   logiciel comme XBOOT se justifie. Une fois que l'on a ce type de soft,
  1025.   on se demande bien comment on a pu s'en passer: J'ai une 15aine de
  1026.   configuration différentes (jeux, graphisme en 16 couleurs, graphisme en
  1027.   256 couleurs, bureautique, MINT, programmation, ....) chaqu'une ayant sa
  1028.   liste d'utilitaires résidents, d'ACC, de CPX, et son propre bureau dans
  1029.   la résolution qu'il faut ! Donc si je choisi 'graphisme en 16 couleurs',
  1030.   j'arrive sur un bureau en mode ST BASS, avec les icones de DEGAS ELITE,
  1031.   NEOCHROME, CRACK ART sur le bureau. Si je prends 'bureautique', j'ai
  1032.   un bureau en overscan (moniteur RVB...), 80 colonnes, 16 couleurs, avec
  1033.   speedo gdos, nvdi, accent.prg, etc... et les icones de FIRST WORD, ...
  1034.   Bref, en clair, j'ai aussi une rubrique REMBRANDT, avec les fenêtres
  1035.   ouvertes sur le répertoire de travail de rembrandt, les images GIF,
  1036.   l'icone de MONST... et pas NVDI, ni x-blaster... Si vous avez XBOOT, vous
  1037.   n'avez vraiment aucune raison de critiquer les problèmes de compatibilité
  1038.   avec ces utilitaires ! (Note: Si vous ne savez pas comment avoir plusieurs
  1039.   bureaux mémorisés: Installez votre bureau comme vous le voulez [mettez
  1040.   des icones sur le bureau, changez la résolution, ouvrez vos fenêtres, 
  1041.   etc...], ensuite faites 'sauver le bureau', créez un répertoire dans le
  1042.   quel vous mettrez toutes vos configurations, puis tirez le fichier
  1043.   'NEWDESK.INF' vers le répertoire en pressant ALTERNATE en même temps. Là,
  1044.   une boite vous demande le nom qu'il faut donner au fichier: Mettez par
  1045.   exemple 'GRAPHIK.INF'. Lancez XBOOT, et rajoutez un nouveau JEU, que vous
  1046.   nommerez (par exemple) 'Rembrandt 3 !'. Choisissez alors les utilitaires
  1047.   que vous devez associer à Rembrandt (panneau de controle, accélérateur de
  1048.   souris, accessoires de bureau divers...) en évitant autant que faire se
  1049.   peut TOUS LES UTILITAIRES QUI NE VONT PAS AVEC REMBRANDT... (Je rappelle
  1050.   donc que mettre NVDI, ou MINT, ou SCREEN BLASTER, ou BLOW UP est une
  1051.   très mauvaise idée... entre autres !). J'espère ainsi avoir éviter des
  1052.   crises de nerf !)
  1053.   
  1054. - La ressource en 16 couleurs, c'est très joli. Soit. Mais les images en
  1055.   TRUE COLOR, ca prend de la place en mémoire ! Alors le meilleur conseil
  1056.   c'est de lancer Rembrandt en 320x200  4 couleurs ou en 640x200 2 couleurs
  1057.   ,plutot que dans un mode comme le 640x400 256 couleurs ! Pour Rembrandt,
  1058.   ca ne change rien, puisque la ressource est prévu pour tous les cas
  1059.   possibles (Ptet pas en 127 par 53 pixels en 177 couleurs ???)
  1060.   d'affichage. Bref, moins la partie GEM prend de place, plus il sera
  1061.   possible de bosser sur de grosses images. (En fait, le mieux c'est la
  1062.   résolution ST BASSE ! C'est la plus jolie, et qui prend peu de place.)
  1063.   Concernant la mémoire: Gardez un ┤uil sur l'indication de taille de
  1064.   l'image qui apparait dans la boite de réglage de la résolution ! Cela ne
  1065.   donne pas la taille de la place totale occupée lorsque vous dessinez !
  1066.   Cette taille ne représente que la taille de l'image telle qu'elle est
  1067.   stockée en mémoire ! Car en fait, cette image doit être présente plusieur
  1068.   fois en mémoire pour que l'on puisse travailler efficacement. Sinon, pas
  1069.   de fonction UNDO... Pas de HARDSCROLL avec un écran virtuel... Il a donc
  1070.   fallu faire un choix !
  1071.   Pour ceux qui auraient quelques difficultés à évaluer la place prise en
  1072.   mémoire, voici quelques indications:
  1073.  
  1074.       - La taille d'une image est très simple à calculer. Il suffit de
  1075.       multiplier la largeur par la hauteur, et de multiplier le tout par
  1076.       2. En bref, une image 320x200 prends 1280000 octets (125 ko), une
  1077.       image 640x400 prends 512000 octets (500 ko), et une image en mode
  1078.       overscan de 768x480 prends la bagatelle de 737280 octets (720 ko).
  1079.       Vous pouviez mettre combien d'image DEGAS ou NEO sur une disquette
  1080.       720 ko ??? Et bien vous ne pouvez mettre QU'UNE SEULE image à ce
  1081.       format...
  1082.       
  1083.     - Pour travailler, j'ai besoin de trois blocs de mémoire. Le bloc
  1084.     n°1 contient en permanence l'image. C'est le seul bloc qui soit
  1085.     présent en mémoire lorsque vous êtes dans la partie qui est sous
  1086.     GEM. Cela permet de charger une TRES GROSSE image, et de la sauver
  1087.     dans un autre format. Cela laisse aussi un maximum de mémoire pour
  1088.     utiliser des accessoires de bureau. Le bloc n°2 est une zone que
  1089.     j'utilise pour la fonction UNDO, elle fait donc exactement la même
  1090.     taille que celle de l'image. Donc, dans vos calculs de mémoire,
  1091.     vous pourriez encore multiplier par deux la place mémoire occupée !
  1092.     Cette zone ne sert pas qu'à cela, elle sert aussi lors des effets
  1093.     de retournement, de rotation, de calcul de flou, etc... Enfin, le
  1094.     bloc n°3 qui est tout aussi indispensable que les autres, puisque
  1095.     ce bloc contient l'écran ! C'est un écran virtuel: Si votre image
  1096.     fait 640 pixels de large et que vous avez choisi de l'afficher en
  1097.     mode simples colonnes (320 pixels), cela ne signifie pas que le
  1098.     bloc écran est plus petit ! Il y a le reste de l'image en dehors de
  1099.     la partie visible sur l'écran; c'est d'ailleur ce qui me permet de
  1100.     vous offrir un scrolling rapide et fluide. Donc, il faut rajouter
  1101.     la place prise par l'écran. Or, l'écran n'est jamais PLUS PETIT que
  1102.     l'image. Il fait au minimum la taille de l'image, et peut être plus
  1103.     grand que l'image (il y a une bordure autour de l'image, dans le
  1104.     cas ou la résolution choisie est supérieure à celle de l'image !).
  1105.     Il faut donc multiplier par trois la place mémoire que vous aviez
  1106.     calculé initialement. Donc en résumant, le fait de charger une
  1107.     belle image GIF en 800x600 occupe (800x600x2)x3=2.880.000 octets
  1108.     soit 2812 ko, soit 2,7 méga octets. Donc ne vous étonnez pas si
  1109.     après avoir chargé l'image vous ne pouvez pas l'afficher (dans ce
  1110.     cas, une boite d'alerte vous indique que « Il n'y a plus asser de
  1111.     mémoire pour travailler. Réduisez la taille de l'image ou bien 
  1112.     supprimez des accessoires... ») si vous avez plein d'accessoires
  1113.     de bureau, une quarantaine de résidents dans le dossier AUTO, et
  1114.     un PETIT ram-disk de 2 mégas... J'espère que j'aurais été assez
  1115.     clair...
  1116.  
  1117.     - OUTSIDE !...
  1118.     Nouveauté: J'ai installé la version de démo de OUTSIDE sur mon dur,
  1119.     et j'ai donc réfléchi à l'utilisation de ce très bon utilitaire !
  1120.     J'ai donc procédé à quelques tests avec divers programmes réputés
  1121.     pour leur relative "lenteur", ainsi que pour leur extrème voracité
  1122.     en mémoire vive ! Mon oppinion est donc bonne, puisqu'effectivement
  1123.     le facteur de ralentissement n'est pas excessif. Donc, il faut que
  1124.     Rembrandt soit compatible avec OUTSIDE ! Pour l'instant ce n'est
  1125.     pas vraiment genant car, vu que cette version ne permet pas de
  1126.     travailler sur plusieurs écran, la demande de mémoire reste dans
  1127.     une limite raisonable. Mais dès que la gestion de plusieurs images
  1128.     sera au point, le problème de la place mémoire sera crucial. Comme
  1129.     je l'ai déja dit plus haut, pour travailler sur une image il me
  1130.     faut en mémoire:     - L'image elle même.
  1131.                 - Une copie pour permettre le UNDO
  1132.                 - La mémoire écran
  1133.     Il va de soit que si je permet l'utilisation de plusieurs images,
  1134.     alors on aura:        - n blocs pour les images
  1135.                 - 1 bloc pour le UNDO
  1136.                 - 1 bloc pour la mémoire écran
  1137.     Effectivement, on ne travaille à un moment donné que sur une seule
  1138.     des images, donc on n'a pas besoin de 'n' blocs pour UNDO ou pour
  1139.     la mémoire écran. Si je vous explique tout ca, c'est pour que vous
  1140.     compreniez le problème technique:
  1141.         - Lorsque OUTSIDE est installé, on obtient deux types de
  1142.     mémoire. On a la mémoire conventionnelle, et la mémoire étendue.
  1143.     La mémoire conventionnelle se trouve en mémoire centrale dans votre
  1144.     joli Falcon, et permet de faire plein de choses intéressantes, 
  1145.     telles que stocker les images (normal !), ou d'y mettre la mémoire
  1146.     nécessaire pour l'affichage (la mémoire écran)... La mémoire
  1147.     étendue se trouve soit en mémoire centrale, soit sur le disque dur,
  1148.     mais il n'y a aucun moyen de le savoir: C'est OUTSIDE qui se
  1149.     débrouille pour que l'utilisateur n'y voit que du feu et que la
  1150.     mémoire demandée soit là où on la voulait. Donc, là est le gros
  1151.     problème: Il n'est pas possible de placer la mémoire écran dans la
  1152.     mémoire étendue ! Pourquoi ? Bah, dites vous que ce n'est pas
  1153.     évident pour le processeur graphique d'afficher 50 fois minimum par
  1154.     seconde les 128ko d'une bete image 320x200 en True Color s'ils se
  1155.     trouvent sur le disque dur au lieu d'être en mémoire vive !...
  1156.     Donc, la mémoire écran doit se trouver en mémoire conventionnelle
  1157.     (si vous n'avez pas compris, relisez lentement le paragraphe qui
  1158.     précède !). Imaginons que vous vouliez travailler en 1000x1000
  1159.     avec un gros écran virtuel (C'est beau quand ca scrolle !). Cet
  1160.     écran n'occupe somme toute que la bagatelle de 1000x1000x2 octets,
  1161.     soit 2000000 octets, 1953 koctets. Bref, 'a peine' 2 mégas ! Donc,
  1162.     confians vous vous dites: «J'ai OUTSIDE installé; la mémoire écran
  1163.     est en mémoire conventionnelle; mon falcon possède 4 mégas de
  1164.     mémoire vive; OUTSIDE me rajoute 2 mégas sur le disque dur; pas
  1165.     de problème, ca tient !»...
  1166.     ...dommage, mais ca ne marche pas comme ca ! (???!!! Pense le
  1167.     lecteur interloqué...). Kezako ? Et oui: OUTSIDE ne rajoute pas
  1168.     ses mégas octets gentiment comme ca sans poser de questions ! En
  1169.     fait ce ne sont pas 2 mégas que OUTSIDE se réserve sur le disque
  1170.     dur, mais plutot 4 mégas ! Et en plus, il bouffe joyeusement 2
  1171.     mégas en mémoire conventionnelle: Et oui, il faut bien a un
  1172.     moment ou a un autre que la mémoire étendue se trouve en mémoire
  1173.     vive, sinon on ne pourrait jamais y accéder comme à de la mémoire
  1174.     'normale'... Donc, OUTSIDE 'jongle' avec le disque dur, avec son
  1175.     bloc de deux mégas en mémoire vive; ce qui entraine une diminution
  1176.     de la mémoire conventionnelle disponible: On ne dispose plus de
  1177.     4 mégas, mais de 2 mégas ! Donc, si on installe une mémoire vidéo
  1178.     qui approche des 2 mégas, il ne reste plus de place pour le système,
  1179.     ou pour les accessoires, ou pour MiNT, ou pour... Bref, j'espère
  1180.     que vous aurez compris l'intéret et les limites d'un gestionnaire
  1181.     de mémoire virtuelle comme OUTSIDE ! Par contre, si vous avez un
  1182.     falcon avec 14 mégas de mémoire vive, un disque dur SCSI 2 externe
  1183.     de 200 mégas,.... pas de problème ! Vous pouvez réserver un
  1184.     écran virtuel de 2000x2000 (8 mégas !) en True Color, et bosser
  1185.     avec vos 10 images en même temps en mémoire ! En attendant, si
  1186.     Rembrandt vous dit qu'il n'a pas assez de mémoire alors que le
  1187.     bureau vous dit que vous avez 5 mégas... de mémoire totale (donc
  1188.     mémoire conventionnelle + mémoire étendue) comprennez en fait qu'il
  1189.     n'y a plus assez de mémoire conventionnelle.
  1190.     
  1191.     - FLAGS: Il existe divers utilitaires permettant de modifier des
  1192.     programmes pour que ceux-ci soient configurés différements lors de
  1193.     leurs exécution. Rembrandt accepte d'être mis en mode 'FAST LOAD'.
  1194.     Pour ce qui est des préférences de mémoire, Rembrandt lui même peut
  1195.     être chargé en mémoire alternative, mais il ne faut pas que les
  1196.     demandes de mémoire soit faites en mémoire alternative ! Il me
  1197.     faut impérativement de la mémoire conventionnelle pour la raison
  1198.     précédente (voir OUTSIDE !).
  1199.     
  1200. - Il est possible de "gagner du temps" en supprimant l'option ANIMATION
  1201.   FERMETURE/OUVERTURE. En bref, ca supprime les GROW BOX/SHRINK BOX lors
  1202.   de l'ouverture et de la fermeture des formulaires GEM.
  1203.   
  1204. - Dans la boite de paramétrage de l'affichage, il y a un bouton qui porte
  1205.   l'inscription «ADAPTE». Lorsque l'on presse ce bouton, les coordonnées
  1206.   image sont automatiquement remplacée par le format sélectionné; Rembrandt
  1207.   prends alors les coordonnées correspondant au mode écran choisi.
  1208.   
  1209.        Ex: Si vous prenez OVERSCAN+DOUBLE HAUTEUR, Rembrandt vous créera
  1210.        une image de 384x480 pixels.
  1211.   
  1212.   Considérez que l'image de base fait 320x200 sur un moniteur broadcast
  1213.   (Télévision, moniteur couleur de ST..., Multisync en mode ST...), et
  1214.   fait 320x240 sur un moniteur VGA.
  1215.  
  1216.   L'overscan permet de multiplier les coordonnées par 1,2 en largeur comme
  1217.   en hauteur. Ce n'est pas possible sur un moniteur VGA.
  1218.   
  1219.   Le fait de prendre la double largeur double la résolution horizontale.
  1220.   (Pas possible en mode VGA)
  1221.   
  1222.   La validation de la double hauteur, double la résolution verticale, mais
  1223.   oblige à passer en mode entrelacé sur les moniteurs non VGA
  1224.   
  1225. - L'option «SAUVER» dans le menu OPTIONS sert à sauvegarder un fichier de
  1226.   configuration nommé «REMBRAND.INF», dans le répertoire qui était actif
  1227.   au moment où Rembrandt a été lancé. Cela permet d'avoir divers
  1228.   configurations de travail, selon le type d'application que l'on crée.
  1229.   [Note: Cela suppose en fait que Rembrandt soit installé comme application
  1230.   au niveau du bureau (icone ou touche de fonction), et que les images
  1231.   soient dans la fenêtre active du bureau... Bref, ca fonctionne comme pour
  1232.   Devpack, qui place ses fichiers de configuration dans le répertoire 
  1233.   courant.]
  1234.   
  1235.  
  1236.  
  1237.  
  1238. A venir: (Mais ne soyez pas pressés !)
  1239. --------
  1240.  
  1241. - Un mode spécial qui permetra de ne travailler qu'avec 256 couleurs
  1242.   différentes sur une même image. Evidement, PHYSIQUEMENT Rembrandt
  1243.   continuera de travailler en mode TrueColor (pas de mode 80 colonnes sur
  1244.   les moniteurs VGA, seulement 32 valeurs pour le Rouge et le Bleu au lieu
  1245.   des 64 disponibles dans le mode 256 couleurs du Falcon,...) mais cela
  1246.   permetra tout de même de travailler, et de sauver des images en 256
  1247.   couleurs.
  1248.  
  1249. - La sauvegarde directe en GIF/TIF.
  1250.  
  1251. - L'importation en PCX (demandé par AAZ).
  1252.  
  1253. - L'exportation vers les formats ST courants (moins de 16 bits de
  1254.   définition)
  1255.  
  1256. - Le chargement du format JPEG, si je parvient à obtenir la documentation
  1257.   concernant le dépacker de Brainstorm. Je sais qu'il y à un Cookie _JPD,
  1258.   qui pointe sur un tableau de valeurs, dont certaines sont les adresses
  1259.   de routines... Mais à part cela...
  1260.  
  1261. - Le chargement des fichiers GIF89a.
  1262.  
  1263. - La possibilité d'avoir plusieurs images simultanément en mémoire. (C'est
  1264.   en cours !)
  1265.  
  1266. - Des fonctions de bloc. Je prévoie la découpe rectangulaire ainsi que le
  1267.   lasso (ou le canif ! 'Jack Knife' de NeoChrome). De toute façon, tous les
  1268.   effets seront utilisables en mode bloc comme en mode image.
  1269.  
  1270. - Des fonctions de retraitement d'image. (dé-aliasing,...) En mode local
  1271.   (bloc) ou global (image). (Je vais mixer CrackArt et StudioPhoto !)
  1272.  
  1273. - Tous les outils usuels (cercles, brosses, vaporisateur,...).
  1274.  
  1275. - Une vraie loupe façon CrackArt/Degas.
  1276.  
  1277. - Une vraie loupe façon Dpaint/Neochrome.
  1278.  
  1279. - Une version multi-langages. (Voir la partie Anglaise à la fin de la doc).
  1280.  
  1281. - La compatibilité NVDI (dès que j'aurais compris les différences qui
  1282.   existent au niveau du XBIOS(5)/(88) lorsque NVDI est présent, et
  1283.   lorsqu'il ne l'est pas...)
  1284.  
  1285. - L'exploitation des RIM. Je suis en train de voir comment les drivers
  1286.   fonctionnent, mais je ne sais pas encore comment les exploiter. Je
  1287.   pense que je vais conserver mes formats par défaut tant qu'ils seront
  1288.   plus performants que les RIM. Après, je ne sais pas ! Ce qui serait
  1289.   très bien, c'est que quelques coders se penchent sur le problème des
  1290.   RIM, et qu'ils en étendent le nombre, ou même, qu'ils optimisent leur
  1291.   fonctionnement. Serait'il admissible d'avoir des RIM spécifique 030 ?
  1292.   Ou que le RIM fasse un test processeur ? Cela permettrait d'avoir la
  1293.   routine de chargement GIF du binaris Viewer pour tous.
  1294.  
  1295. - Toutes mes idées tortueuses concernant la création graphique ! Je crois
  1296.   que je vais m'inspirer un peu de ZZ-Rough ! Il était vraiment génial ce
  1297.   programme: Dommage que le ST n'ai eu que 16 couleurs !
  1298.  
  1299. --> Et puis toutes les suggestions que j'ai récupéré sur RTEL, dès lors
  1300.   qu'elles seront raisonables... Ainsi que toutes celles que l'on voudra
  1301.   bien me faire par courrier, par téléphone, par télégramme, etc...
  1302.   NOTE: Vous pouvez toujours essayer la télépathie, mais il n'est pas sûr
  1303.   que je soit très réceptif !            
  1304.  
  1305.  
  1306. VERSIONS DIFFUSÉES:
  1307. -------------------
  1308.  
  1309.  Concernant les numéros de version. Tant qu'il y à un zéro après le point,
  1310. on reste dans les ß-Versions librement diffusables (C'est même encouragé).
  1311. Toute version qui aurait un autre chiffre ne serait plus une ß-Version,
  1312. lisez la doc l'accompagnant pour savoir ce qu'il en est (ou lisez la boite
  1313. informations directement dans le programme). Je n'utiliserais les sous
  1314. divisions qu'au niveau débogage. Ainsi, une éventuelle version 3.001 ne
  1315. serais jamais qu'une version 3.00 avec quelques bugs corrigés. En gros, pas
  1316. de changement au niveau des fonctions ou des capacités. Donc, si vous
  1317. n'avez pas eu de problème avec votre version et que vous apprenez que la
  1318. version 3.04x est sortie, ce n'est pas la peine de faire un foin du diable.
  1319. Si cela ce trouve, ce bug corrigé vous ne l'auriez jamais trouvé ! Ceci
  1320. expliqué, voici la liste des releases officielles:
  1321.  
  1322.  
  1323. +-------+------------------------------------------------------------------
  1324. | 3.00    | NeXT release. A priori, seul Chromix de CAT l'a eu...
  1325. +-------+------------------------------------------------------------------
  1326. | 3.01    | Up-loadée sur GREAT PUDARKUS (une BBS américaine)
  1327. +-------+------------------------------------------------------------------
  1328. | 3.02    | Up-loadée sur GREAT PUDARKUS
  1329. +-------+------------------------------------------------------------------
  1330. | 3.03    | Un exemplaire laissé à Contact'ST le samedi 16 octobre 1993
  1331. |    | Sunix\The Extract [Montbeliar] le lundi 18 octobre 1993
  1332. +-------+------------------------------------------------------------------
  1333. | 3.04    | BDB\The Silver Sharks [Besançon] le samedi 23 octobre 1993
  1334. | 3.04+    | Dm Violator\Binaris le vendredi 5 octobre
  1335. |       | EKO                "
  1336. |       | Sunix\The Extract        "
  1337. +-------+------------------------------------------------------------------
  1338. | 3.05  | Première diffusion sauvage en de nombreux examplaires !            
  1339. +-------+------------------------------------------------------------------
  1340.  
  1341.  
  1342. HISTORIQUE:
  1343. -----------
  1344.  
  1345. - Les premières lignes de code concernant la version 3 de Rembrandt ont été
  1346.   codées dans la quinzaine qui à suivit la réception de mon Falcon. Disons
  1347.   que cela date de la mi-juin 1993. Tout ce qui a été codé jusqu'à la
  1348.   rentrée était techniquement intéressant mais totalement inutilisable dans
  1349.   un cadre graphique: Les routines de gestion de fichier, la loupe rapide,
  1350.   les macros pour gérer le clavier et la souris, l'interface GEM, et les
  1351.   première tentatives de création des routines de dessin...
  1352.   
  1353. - Lundi 13 septembre 1993:
  1354.    Le programme détecte le type de moniteur, et l'affiche dans la boite de
  1355.   paramétrage de l'affichage. Les cases de validation de l'overscan et du
  1356.   mode double largeur ne sont plus actives lorsqu'un moniteur VGA est
  1357.   détecté. Toujours pour le VGA, les lignes supplémentaires sont maintenant
  1358.   gérées proprement.
  1359.    Les premières fonctions de manipulation d'image sont là. On peut
  1360.   retourner l'image horizontalement ou verticalement, en utilisant INSERT
  1361.   ou CLR HOME. Cela permet de remettre les images TGA dans le bon sens.
  1362.   [Question: Y'a t'il un moyen de savoir dans quel sens est stocké une
  1363.   image TGA ??? Parce que si j'inverse systématiquement les images dès le
  1364.   chargement, certaines images seront alors à l'envers (CARR,MADONA...)]
  1365.    Il est possible de forcer la résolution de l'image de manière à ce qu'
  1366.   elle corresponde avec la résolution physique affichée [Bouton ADAPTE].
  1367.   [Note: Si les dimensions de l'image sont différentes, il n'est pas
  1368.   encore possible de faire un redimensionnement, on peut soit l'effacer,
  1369.   soit annuler l'opération.]
  1370.  
  1371.                 ~~ 3.01 ß ~~
  1372.                  
  1373. - Mardi 14 septembre 1993:
  1374.    La ressource est maintenant intégrée au fichier PRG. Ca fait plus propre
  1375.   et en plus il y a un avantage de taille : Il est maintenant possible
  1376.   d'installer Rembrandt comme «TOOL» dans Devpac, ou de choisir le
  1377.   répertoire de la fenêtre courante lorsque l'on installe Rembrandt comme
  1378.   application sous le bureau GEM. Pourquoi ??? Les programmes qui ont une
  1379.   ressource séparée n'arrivent pas à la retrouver si ils sont lancés alors
  1380.   que le chemin courant ne correspond pas à leur position sur le disque.
  1381.   Bref, maintenant Rembrandt trouve toujours sa ressource, et en plus, le
  1382.   système des fichiers de configuration placés dans divers répertoires
  1383.   devient maintenant utile !
  1384.  
  1385. - Mercredi 22 septembre 1993:
  1386.    Les images PNT et TPI sont chargées. (Mal... Il y à un problème avec les
  1387.   index de couleur VDI. Le noir et le blanc sont inversés.
  1388.  
  1389. - Jeudi 23 septembre 1993:
  1390.    Les images XGA sont chargées.
  1391.    
  1392. - Vendredi 24 septembre 1993:
  1393.    La fonction UNDO est implémentée. Le curseur de la souris indique la
  1394.   couleur courante. Il est possible de capturer une couleur avec le bouton
  1395.   droit en restant appuyé dessus. Le curseur est maintenant clippé, et donc
  1396.   ne tourne plus stupidement autour du point central... (Gosh)
  1397.  
  1398. - Jeudi 30 octobre 1993:
  1399.    Le programme utilise maintenant le Cookie Jar pour effectuer la
  1400.   détection de la machine. Accessoirement, on en profite pour vérifier si
  1401.   NVDI est installé. (Cookie: «NVDI»=$22472) Si c'est le cas, on en
  1402.   profite pour faire remarquer que Rembrandt est HAUTEMENT incompatible
  1403.   avec un certain nombre de programmes ! Si avec ca je ne me fait pas
  1404.   insulter sur la place publique ! [Ex: STMAG -> Et dire qu'il y à encore
  1405.   des programmeurs (peut on encore les appeler programmeurs ???) qui OSENT
  1406.   sortir des programmes ne respectant pas scrupuleusement les spécifications
  1407.   d'Atari, bla bla bla blof.... Gasp] Héhé... Et puis d'abord je n'aime pas
  1408.   la crème de marrons, même lorsqu'ils sont en tubes de 20 grammes.
  1409.   
  1410.  
  1411.                 ~~ 3.02 ß ~~
  1412.               
  1413. - Samedi 2 octobre 1993:
  1414.    Le scrolling Hard fonctionne parfaitement. De même que toutes les
  1415.   manipulations, déplacements et autres traçages.
  1416.    Le format Art Director [*.ART] est maintenant chargé.
  1417.  
  1418. - Dimanche 3 octobre 1993:
  1419.    Les images IFF sont maintenant chargées quelles que soient leurs
  1420.   dimensions, nombre de couleurs. Cela permet entre autre de récupérer
  1421.   toutes les images Amiga en 640x256 et celles en 32 couleurs.
  1422.   
  1423. - Mardi 5 octobre 1993:
  1424.    Les images HAM Amiga sont maintenant chargées. En fait, une fois que la
  1425.   routine IFF normale tourne proprement, c'est très facile de gérer ce
  1426.   mode !
  1427.    
  1428. - Jeudi 14 octobre 1993:
  1429.    Après une semaine de délire à la fac. (Notre emploi du temps change tous
  1430.   les deux jours... Gasp, bref j'ai rien foutu depuis une semaine. Donc,
  1431.   les ressources ont été modifiées, rajout d'une boite de paramétrage des
  1432.   préférences, du formulaire de choix des formats d'image.  
  1433.  
  1434. - Vendredi 15 octobre 1993:
  1435.    Rembrandt est maintenant un peu moins buggé, et un peu plus cohérent.
  1436.   En effet, je me suis rendu compte que les boites d'alerte étaient un peu
  1437.   fantaisistes... Donc à partir d'aujourd'hui, les CONFIRMER sont à gauche,
  1438.   suivit d'un ANNULER (plus de continuer,annulation,gasp,...). Et une 3ème
  1439.   option est proposée lorsque cela est nécéssaire: SAUVER. Une vérification
  1440.   est faite avant de quitter. La boite de paramétrage de résolution à été
  1441.   remaniée "intérieurement" de fond en comble: Le bouton ADAPTE agit de
  1442.   façon immédiate, et non seulement au prochain appel de la boite de
  1443.   paramétrage. Il y a maintenant un test sur les dimensions rentrées: Il
  1444.   n'est pas possible de choisir une résolution inférieure à 16x16, et la
  1445.   largeur de l'image doir être paire. J'estime que ce n'est pas franchement
  1446.   une grosse limitation !
  1447.  
  1448.                 ~~ 3.03 ß ~~
  1449.             
  1450. - Samedi 16 octobre 1993:
  1451.    Première présentation à Besançon, à Contact'St. Il y avait un bug dans
  1452.   la boite de réglage vidéo... Corrigé le soir même. Gasp.
  1453.  
  1454.                 ~~ 3.04 ß ~~
  1455.                
  1456. - Mardi 19 octobre 1993:
  1457.    Amélioration du gestionnaire de mémoire. A priori, on ne peut plus
  1458.   planter le programme en manipulant des images trop grosses, car il refuse
  1459.   d'effectuer l'opération. Implémentation des premiers effets spéciaux sur
  1460.   image (sombre/clair/négatif/flou/mise en gris). Possibilité de calculer
  1461.   des couleurs en demi-teinte... Les effets de symétrie sur l'image sont
  1462.   maintenant deux fois plus rapide (ca se sent surtout avec les images en
  1463.   640x480...). Toutes les routines de transfert de bloc ont été optimisées.
  1464.   J'ai rajouté le format TG1 (Format Coke TrueColor) à la liste des formats
  1465.   reconnus par Rembrandt.  
  1466.  
  1467. - Samedi 23 octobre 1993:
  1468.    Utilisation de Rembrandt pendant tout l'après midi, en essayant de le
  1469.   faire planter, ou de trouver tout ce qui était agaçant. A l'issue de ce
  1470.   test, j'ai corrigé le FileSelect (utilisation de répertoire par défaut),
  1471.   le module de chargement/sauvegarde des paramétrages, harmonisé les boites
  1472.   d'alerte qui apparaissent en cas d'erreur durant les chargement d'image,
  1473.   viré quelques bugs méchants... Bref, j'ai fait du nettoyage dans le
  1474.   programme.
  1475.   
  1476. - Week-End du 1er novembre 1993:
  1477.    J'ai supprimé un méchant 'flicking' d'écran qui apparaissait sur les
  1478.   moniteurs VGA. En fait c'était de ma faute... Je faisait le changement
  1479.   de résolution trop tard dans la VBL, donc le fait de bouger la souris
  1480.   foirait la synchro video !
  1481.   
  1482.                 ~~ 3.05 ß ~~
  1483.  
  1484. - Jeudi 4/Vendredi 5/Samedi 6/Dimanche 7 novembre 1993:
  1485.    GEM Revenge... Ca y'est, c'est tout beau tout propre; c'est compatible
  1486.   MultiTos; y'a une fenêtre; y'a une barre de menu; y'a des raccourcis
  1487.   clavier. Bref, c'est au moins autant une application GEM que certains
  1488.   autres programmes de dessin comme Prism Paint ! Il reste un vilain bug
  1489.   sous MultiTos: Impossible de charger ou sauver une image ! Certainement
  1490.   un problème de répertoire par défaut. Les routines de dessin ont été
  1491.   réécrites. Maintenant FalconScreen, ScreenBlaster, BlowUp! sont détectés
  1492.   et il n'y a plus qu'une boite d'information globale qui interdit de
  1493.   visualiser l'image si ils sont actifs. De plus, NVDI à subit le même
  1494.   traitement et il n'y a plus de 'bombage' au démarrage (C'était de ma
  1495.   faute... Une connerie ! Mais c'est pas possible de faire des trucs nuls
  1496.   comme ca... bah... la honte. j'vais m'suicider ! Quel déshonneur. SVP, si
  1497.   vous avez la 3.04, désassemblez pas pour voir le bug !).
  1498.  
  1499. - Lundi 15 novembre 1993:
  1500.    J'ai changé toute la gestion des outils. Maintenant tout est organisé de
  1501.   façon 'matricielle'. j'ai une matrice de N outils ayant M fonctions, et
  1502.   en une seule fois j'obtient l'icone, le curseur, le texte, l'adresse de
  1503.   la routine, le raccourcis clavier... correspondant à un outil particulier.
  1504.   Le résultat ? Une seule routine pour tous les outils. Donc, c'est pas
  1505.   plus lent finalement, mais lorsque tous les outils seront implémentés,
  1506.   cela m'aura permis de gagner plusieurs dizaines de Ko sur le PRG. De plus,
  1507.   comme la structure globale est beaucoup plus homogène maintenant, cela
  1508.   facilite le débogage et l'implémentation des nouvelles fonctions. Vivement
  1509.   qu'on ait un bon débogueur sur le Falcon... qui supporte les changements
  1510.   de résolution ET permette de travailler sans plantage lorsque l'on vire
  1511.   les interuptions du système.
  1512.  
  1513. - Dimanche 21 novembre 1993:
  1514.    Modification de la routine de tracé de ligne, pour que l'on ait LINE et
  1515.   RAYON en plus de KLINE.
  1516.   Correction d'un bug mineur dans la sauvegarde en TG1 (signalé par MEGAR).  
  1517.   Suppression d'un bug minable dans l'appel aux fonctions de dessin, qui
  1518.   faisait que entre le moment où l'on cliquait et le moment où l'on
  1519.   dessinait, la position de la souris était 'oubliée' et donc le tracé
  1520.   commencait à l'endroit ou était rendu la souris à ce moment. En clair,
  1521.   sur les grosses images, le temps de transférer l'image dans le buffer
  1522.   UNDO... impossible de tracer à l'endroit ou l'on veut ! Maintentant,
  1523.   c'est arrangé. M'enfin ! Ha, et puis maintenant, on peut utiliser la
  1524.   touche SHIFT lorsque l'on trace des lignes: Cela permet de tracer des
  1525.   horizontales/verticales/diagonales facilement.
  1526.  
  1527. - Samedi 27/Dimanche 28 novembre 1993:
  1528.    Création d'une routine "polyfill convexe" qui permet de tracer en temps
  1529.   réel les rectangles pleins, disques, et autres formes tordues telles que
  1530.   triangles, octogones, dodécagones pleins... C'est cool ! Ca fait plus
  1531.   propre que de tracer un cadre que l'on remplie après, et en plus le code
  1532.   est très compacte, et ca marche même avec l'écran virtuel en restant en
  1533.   1 ou 2 vbls (sans clignoter...). Donc, on peut tracer un cercle de 300
  1534.   points de rayon sur une image 768x480...
  1535.   J'en ai profité pour implémenté la fonction 'aérosol'. C'est de la faute
  1536.   au DM ! Il m'a fait une super présentation dans l'édito du club Falcon
  1537.   sur RTEL... en disant que l'airbrush était génial alors qu'il n'était pas
  1538.   encore codé ! Donc, pour ne pas perdre la face et décevoir la foule en
  1539.   délire, fallait bien s'y mettre ! M'enfin, ca marche.
  1540.  
  1541. - Vendredi 3/Samedi 4 décembre:
  1542.    Débogage, tests, ammélioration de la loupe, mise à jour de la doc,...
  1543.   C'est la version 3.05 finale qui sera expédiée....
  1544.   
  1545.   
  1546. ---------------------------------------------------------------------------
  1547. ---------------------------------------------------------------------------
  1548. ---------------------------------------------------------------------------
  1549.  
  1550. Comment me contacter ?
  1551. ----------------------
  1552.  
  1553. Par courrier, écrivez à l'adresse suivante. Mais sachez que je ne répondrait
  1554. que si il y a une enveloppe self-adressée-timbrée. J'en ai marre d'aller à
  1555. la poste acheter des timbres, et écrire des adresses ca prend du temps.
  1556. Accessoirement, j'ai des scrupules à ne pas répondre aux personnes qui me
  1557. laissent des enveloppes timbrées...
  1558.  
  1559. POINTIER Mickaël
  1560. 6, rue George Sand
  1561. 49100 Angers
  1562.  
  1563.  
  1564. Par téléphone, composez le numéro suivant; mais faites le à une heure
  1565. décente, parce que s'il n'est pas certain que je dorme, il est probable que
  1566. l'autre personne vivant dans mon appart soit partie rendre visite chez le
  1567. marchand de sable... Accessoirement, si vous appelez en journée, et que
  1568. c'est elle qui décroche, soyez polis et laissez au moins vos noms, prénoms,
  1569. et pseudos, si je ne suis pas là.
  1570.  
  1571. -> 41.43.96.15
  1572.  
  1573.  
  1574. Par minitel, je suis contactable sur le serveur RTEL, dans la bal DBUG II.
  1575. Pour ceux qui ne connaissent pas, il y a plusieurs accès possibles:
  1576.  
  1577. 3615 RTEL
  1578. 3615 RTEL3
  1579.  
  1580. 3614 RTEL1 | Ces deux là sont les moins cher, mais il n'est pas possible de
  1581. 3614 RTEL2 | se connecter à certaines périodes si l'on ne possède pas de
  1582.        | crédits. Or, si vous lisez ceci c'est que vous n'êtes jamais
  1583.        | allé sur RTEL, et donc que vous n'en avez pas ! CQFD...
  1584.        | En gros, considérez qu'à partir de 22:30 vous avez 80% de
  1585.        | chances de rentrer en 3614, et que cela en vous coutera que
  1586.        | 13 centimes à la minute (soit 7,80 Fr de l'heure), ce qui est
  1587.        | tout à fait raisonable !
  1588.        
  1589. La solution que je préfère c'est le minitel, car cela me permet de capturer
  1590. les messages directement avec un émulateur et de les sauver en ASCII.
  1591. Ensuite, je sauve le tout dans un fichier global qui contient les désirs
  1592. des uns et des autres.
  1593. A titre indicatif, je possède des propositions et commentaires venant de:
  1594.  
  1595.                             - Aaz - (Binaris)
  1596.                - Babar -
  1597.               - Cortexx -
  1598.              - Createur -
  1599.             - DM Violator - (Binaris)
  1600.               - Drenolc -
  1601.                             - Eko -
  1602.                - Hawat - (Binaris)
  1603.                - Kasar -
  1604.                - Megar - (Binaris)
  1605.                 - Niko - (Mjj Prod)
  1606.               - Nucleus -
  1607.               - Odyssey -
  1608.                 - Stof -
  1609.                - StReo -
  1610.                - Thulu - (DSP)
  1611.             - Xl Survivor -
  1612.              - ZeBigBos - (PARX Software)
  1613.  
  1614. que je remercie grandement. Il va de soit que les personnes qui sont sur
  1615. cette liste seront parmis les premières à être servies. J'espère qu'elles
  1616. ne seront pas déçues !
  1617.  
  1618. Merci aux membres de Binaris pour les encouragements et la routine de
  1619. chargement d'images GIF. Maintenant, j'attend la version qui charge le
  1620. GIF89a ! Et puis le transformateur TrueColor -> 256 couleur, et puis la
  1621. routine qui sauve en GIF ! (Bonne chance...)
  1622.  
  1623. Hello à Chromix: Et le "Divine Neo", il avance ? Tu as vu, on peut utiliser
  1624. SHIFT pour forcer les lignes !
  1625.  
  1626.  
  1627.  
  1628. ----------------------------------------------------------------------------
  1629. ----------------------------------------------------------------------------
  1630. ----------------------------------------------------------------------------
  1631. ----------------------------------------------------------------------------
  1632. ----------------------------------------------------------------------------
  1633. ----------------------------------------------------------------------------
  1634. ENGLISH PART:
  1635.  
  1636.     First, I hope you'll try to read all of these explanations, because
  1637. as I'm not really a good 'English speeker' you could be bored befor long !
  1638. Let's start now.
  1639.  
  1640. If you read this part, I suppose you're someone comming from one country
  1641. where the English is the most common spoken language, and you're saying:
  1642. «These nasty frenches never make English versions of their software...»
  1643. You're not totaly wrong, but perhaps a translated version of this piece of
  1644. software would born if I receive a consequent amount of letters/postcards/
  1645. financial contribution/ or(and) other encouragements...
  1646.  
  1647. I've done this beta version in French for a simple reason. This is a beta
  1648. version, and my beta-testers are Frenchies. I think this reason is suffisant
  1649. enough !
  1650.  
  1651. Just suppose I'll make this english version of Rembrandt, ok ? In this
  1652. case, I'll have to rewrite a completely translated UserManual. I think this
  1653. work could be done without terrific problems. But the problem could come
  1654. from the program itself ! There are two ways of doing such an operation:
  1655.  
  1656. 1/ I'm doing a French version, and an English version.
  1657.    - It's efficient, because both versions are compact (only one language).
  1658.    - There is a very high probability that only the English version would
  1659.      be release outside France, and many non-French people would think that
  1660.      Rembrandt isn't a French product ! (Yes, I know that's patriotic
  1661.      feelings...)   
  1662.    - It's much more difficult to assume a parallel updating of both versions.
  1663.    - An hypothetic bug can be found in one version, and not in the other...
  1664.    
  1665. 2/ I'm doing a multi-language Rembrandt.
  1666.    - The programm will be much more longer, cause I must have all the texts
  1667.      in both languages.
  1668.    - Updates are much easier.
  1669.    - No probleme of language since you could change the one you need from
  1670.      the "parameters" formular (or by reading the user nationality in the
  1671.      the battery-backed memory (NVM) of the falcon).
  1672.    - A very lousy programming work ! Cause English texts are never of the
  1673.      same lenght than the French equivalent, it's difficult to do some
  1674.      standard ressources. And the number of labels is doubled:
  1675.      
  1676.      eg:
  1677.      
  1678.      alert_image_non_sauvée
  1679.       dc.b "[1][L'image en cours n'a pas|"
  1680.       dc.b "été mémorisée. Votre travail|"
  1681.       dc.b "sera perdu !!!]"
  1682.       dc.b "[Confirmer|Annuler|sauver]",0
  1683.      
  1684.      alert_uk_image_non_sauvée
  1685.       dc.b "[1][The current picture hasn't|"
  1686.       dc.b "been saved yet. Your work will|"
  1687.       dc.b "be destroyed!!!]"
  1688.       dc.b "[Ok|Cancel|Save]",0
  1689.       
  1690.  
  1691.     I need your opinion on these subjects, but I accept Frenches
  1692. propositions too !
  1693.  
  1694.     But I'll NEVER done a German version by myself... Except if someone
  1695. is capable to do this work for me. In this case, I'll send him the datas to
  1696. translate and the general method of doing the work...
  1697.  
  1698.     And now, a short translation of the documentation:
  1699.     
  1700. The keys:
  1701.  
  1702. - D: Draw. You have a pen, and you can draw with it. Classic.
  1703. - K: K-Line. It's a continuous line. Just click once to indicate the point
  1704.      from where the line drawing starts, move the mouse, and so click to
  1705.      indicate the ending point of the line you're drawing. Just click with
  1706.      the right button to stop drawing lines.
  1707. - L: Line. Each drawed line is independant.
  1708. - R: Rayons. The lines have the same starting point.
  1709. - Z: Filler. Just take you'r color, and click somewhere on the picture. So
  1710.      the shape will be filled.
  1711. - F: Frame. It just work like the line. Indicate the first corner, and so
  1712.      drag the second corner and click to fix the position.
  1713. - B: Box. It's exactly like FRAME except that you obtain a filled box.
  1714. - C: Circle. This is for drawing circles.
  1715. - D: Disk. This is for drawing filled circles !
  1716. - A: Airbrush.
  1717.  
  1718. Important note: Try the keys [SHIFT] [ALTERNATE] and [CONTROL] when you're
  1719. using one of these tools. Look at the effect.
  1720.  
  1721. That's all for the tools. Note you've the same function if you briefly
  1722. click with the right button: A deplacable formular appears, with the
  1723. complete tool-box. Each tool had is own sub-menu.
  1724.  
  1725. - [SPACE]: Activate the color palette selector. Click outside the formular
  1726.            to catch a picture color, move the cursors,... and so on.
  1727.  
  1728. - [RETURN/ENTER]: Return to the GEM part of Rembrandt.
  1729.  
  1730. Special effects:
  1731. They are just demoes of the final functions. These are slow and pretty
  1732. bugged !
  1733.  
  1734. - (: Shadow.
  1735. - ): Bright.
  1736. - /: Negativ.
  1737. - *: I don't know the English word, but it's like you take a photo and
  1738.      you're not an expert: You've made an error, and so the picture is
  1739.      not clean. This effect take pixels by pair. (Pixel:Picture Element)
  1740. - -: It's the same effect, but the method is different. It's a global
  1741.      8 directions analysis (convolution).
  1742. - 7: You don't like colors ? Just do a grey scale transformation.
  1743.  
  1744. Picture manipulation:
  1745. There is a remaining bug. It crashes the program if you try to rotate a
  1746. fucking LARGE picture... Gasp.
  1747.  
  1748. - [INSERT]: Invert the picture on the X-axis (or Y ???)
  1749. - [CLR HOME]: The same thing, but on the other axis !
  1750. - []: Rotate the picture clockwise
  1751. - []: The same, but in the good clock direction...
  1752.  
  1753. Special features:
  1754. You can catch a color from the picture to draw with it by a smart
  1755. utilisation of the right button. Just stay pressed on it, and move your
  1756. mouse. The cursor color changes: it's the color pointed on the picture.
  1757. [I've to explain a difficult operation now...]
  1758. You're always pressing the RIGHT button ? Ok, stay like that. Now, press
  1759. the LEFT AND RIGHT buttons, but never stop to press the RIGHT one while
  1760. you're performing this highly technical operation !!! And now, move the
  1761. mouse: If you always have your fingers on the buttons, you could admire
  1762. a gradient. The color of the cursor is now a median color calculated from
  1763. the color you're now pointing with the mouse and from the one you had before
  1764. you start to press the left button. This is very usefull for fastly creating
  1765. a gradient. Take 2 colors, and 'recursively' you've all the intermediate
  1766. colors... Cool no ? I hope you've understand. If not, excuse me !
  1767.  
  1768. For the file format, just look in the French part there is a list of the
  1769. recognised file format.
  1770.  
  1771.  
  1772. Ok, that's all. For suggestion, contacts, bug report, and other interessant
  1773. subject, just write at the adress given at the end of the french part.
  1774.  
  1775.  
  1776. IMPORTANT NOTE !!! Please, don't modify or remove some part in this
  1777. document. If you're a good translater, you can add a second document with
  1778. the correct english translation, but never alter this one. I hope you'll
  1779. understand.
  1780.  
  1781. IMPORTANT NOTE 2: There are many PD libraries in many lands. But I deny
  1782. the right of releasing these beta-version of Rembrandt through a PD
  1783. librarie. If you're interested for any commercial reason, just contact
  1784. me. I conserv some hope in making money with this product, and so I'm
  1785. interested by honest propositions comming from Software firms or Shareware
  1786. groups. That's all.
  1787.  
  1788.  
  1789.  
  1790.  
  1791.  
  1792.  
  1793.